MySQLで一定間隔で10分間隔でテーブルのデータを更新するためにはCREATE EVENT文を使います。

以下はサンプルコードです。

-- productsテーブルの作成
CREATE TABLE products (
  id INT AUTO_INCREMENT PRIMARY KEY,  -- 商品のID(自動付番)
  name VARCHAR(50),  -- 商品名(文字列型、最大50文字)
  price DECIMAL(10, 2)  -- 価格(小数点以下2桁までの10桁の10進数)
);

-- 10分ごとにproductsテーブルのprice列を更新するイベントの作成
CREATE EVENT update_product_price
ON SCHEDULE EVERY 10 MINUTE  -- 10分ごとに実行
DO
  UPDATE products
  SET price = price * 1.1;  -- price列の値を1.1倍に更新

-- イベントスケジューラを有効にする
SET GLOBAL event_scheduler = ON;  -- グローバルなイベントスケジューラをONにする

上記の例では、productsテーブルのprice列を10分ごとに1.1倍に更新するイベントを作成しています。

イベントはCREATE EVENT文を使用して定義され、ON SCHEDULE EVERY 10 MINUTEによって10分ごとのスケジュールが指定されています。

DO以下の部分には、実際に実行されるSQL文を記述します。

最後の行のSET GLOBAL event_scheduler = ON;は、イベントスケジューラを有効にするための設定です。

この設定が必要なのは、イベントスケジューラがデフォルトで無効になっているためです。

イベントを作成し、イベントスケジューラを有効にした後、指定した間隔(この例では10分)ごとにproductsテーブルのprice列が自動的に更新されます。

最後までお読みいただきありがとうございます。