在MySQL phpmyadmin环境中,当我创建一个设置为DROP语句的事件时,DROP (静默)不会发生,因为我的MySQL安装显然需要确认。
DROP EVENT IF EXISTS test.target_ultra_sync ;
CREATE EVENT test.target_ultra_sync
ON SCHEDULE EVERY 30 SECOND
DO
DROP TABLE IF EXISTS `test`.`ultra`;
CREATE TABLE `test`.`ultra` AS SELECT * FROM `target_ultra`;
截断和删除也会发生同样的情况。
我怎样才能抑制这种行为?
发布于 2017-11-25 03:43:44
当我尝试您的事件的变体时,在phpMyAdmin中没有从事件调度器获得任何提示。
您的事件语法似乎只是稍微关闭了一点(我必须应用一个小的修改),因为您在需要一个DO
和END
部分之后有复合语句,如下所示:
DROP EVENT IF EXISTS test.target_ultra_sync ;
CREATE EVENT test.target_ultra_sync
ON SCHEDULE EVERY 30 SECOND
DO
BEGIN
DROP TABLE IF EXISTS `test`.`ultra`;
CREATE TABLE `test`.`ultra` AS SELECT * FROM `target_ultra`;
END
应用该事件更改后,您可以通过运行以下SQL命令来检查Executed_events
变量是否正在计数(根据30 second
设置,大约每分钟两次):
show status WHERE variable_name = 'Executed_events'
在phpMyAdmin中运行该查询一次之后,您可以简单地刷新查询以获得更新的结果,如下图所示。
当然,如果您有其他预定的事件,将很难知道计数是否严格从这个事件,除非其他时间有一个更长的时间,不那么频繁地运行。
如果在创建事件后发现Executed_events
计数是而不是增加,请确保事件调度程序正在运行!这可以在phpMyAdmin中签入:
https://stackoverflow.com/questions/47458218
复制相似问题