gpt4 book ai didi

MySQL - 在事件中强制删除表而不确认

转载 作者:行者123 更新时间:2023-11-29 10:30:41 25 4
gpt4 key购买 nike

在 MySQL phpmyadmin 环境中,当我创建一个设置为发生 DROP TABLE 语句的事件时,DROP TABLE (静默)不会发生,因为我的 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`;

截断和删除也会发生同样的情况。

如何抑制这种行为?

最佳答案

当我尝试您的事件的变体时,我在 phpMyAdmin 中没有从事件调度程序收到任何提示。

看来您的事件语法有点偏离(我必须进行一些小的修改),因为您在 DO 之后有需要 BEGIN 的复合语句和 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 秒 设置,大约每分钟两次)命令:

show status WHERE variable_name = 'Executed_events'

在 phpMyAdmin 中运行该查询一次后,您只需刷新查询即可获取更新的结果,如下图所示。

enter image description here

当然,如果您还有其他安排的事件,则很难知道计数是否严格来自此事件,除非其他事件的时间较长且运行频率不那么高。

如果您发现创建事件后 Executed_events 计数没有增加,请确保事件调度程序正在运行!这可以在 phpMyAdmin 中检查:

enter image description here

关于MySQL - 在事件中强制删除表而不确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47458218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com