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列が自動的に更新されます。