Mysql
MySQL 5.6 - 在儲存過程中創建事件
我正在嘗試創建一個在 MySQL 中創建事件的過程。
例如,類似於以下內容:
delimiter // CREATE PROCEDURE schedule_my_db_job() BEGIN CREATE EVENT MY_DB_JOB ON SCHEDULE EVERY 1 MINUTE DO BEGIN SELECT * FROM information_schema.events; -- for example END; END// delimiter ;
但是當我嘗試創建此過程時,它給了我以下錯誤。
ERROR 1576 (HY000): Recursion of EVENT DDL statements is forbidden when body is present
據我了解,MySQL 允許儲存過程在內部包含 CREATE EVENT sql 語句。(引自https://dev.mysql.com/doc/refman/5.6/en/create-event.html “您可以創建一個事件作為儲存常式的一部分,但另一個事件不能創建一個事件”)
你能告訴我這裡有什麼錯誤嗎?
謝謝。
MySQL 文件中似乎存在衝突。我認為MySQL 文件中的CREATE EVENT 語法部分在以後的版本中沒有正確更新。雖然“創建事件語法”部分說
您可以創建一個事件作為儲存常式的一部分,但一個事件不能由另一個事件創建。
在mysql 文件的Event Scheduler Restrictions部分中,它說
儲存的常式、觸發器或其他事件不得創建、更改或刪除事件。事件也不能創建、更改或刪除儲存的常式或觸發器。(錯誤 #16409、錯誤 #18896)