2 回答

TA貢獻1784條經驗 獲得超8個贊
mysql要實現定時執行sql語句就要用到Event
具體操作如下:
先看看看event 事件是否開啟
show variables like '%sche%';
如沒開啟,則開啟。需要數據庫超級權限
set global event_scheduler =1;
創建存儲過程 update_a (注:就是你要執行的sql語句)
mysql> create procedure update_a() update a set a.y_avg=(select avg(b.youhao) from b where a.a_id=b.a_id);
創建一個定時任務:event e_updateA
mysql> create event if not exists e_updateA
-> on schedule every 60 second ---設置60秒執行一次
-> on schedule at date_add(now(),interval 1 minute) ---在一分鐘后執行
-> on completion preserve
-> do call update_a(); ---執行update_a()存儲過程
創建Event之后,sql語句就定時執行一次。
關閉事件任務
mysql> alter event e_updateA ON
-> COMPLETION PRESERVE DISABLE;
開啟事件任務
mysql> alter event e_updateA ON
-> COMPLETION PRESERVE ENABLE;
如還有問題再聯系我

TA貢獻1821條經驗 獲得超6個贊
Oracle:
Sqlplus 里面, 寫一段 SQL 語句, 回車以后,加一個 / 再回車就執行。
SQL Server
oSQL 或者 sqlcmd , 寫一段 SQL 語句, 回車以后,加一個 go 再回車就執行。
如果對您有幫助,請記得采納為滿意答案,謝謝!祝您生活愉快!
vaela
添加回答
舉報