您的位置:首页 > 数据库 > MySQL

MySQL事件的先后

2016-01-15 15:49 555 查看
今天闲聊之时 提及MySQL事件的执行,发现一些自己之前没有注意的细节

如果在执行事件过程中,如果insert的存储过程发生意外 会如何

USE iot2;
CREATE TABLE aaaa (timeline TIMESTAMP);

CREATE TABLE aaab (timeline TIMESTAMP);



CREATE EVENT e_test_insert ON SCHEDULE EVERY 1 SECOND DO call ck1() ;


存储过程为

DELIMITER $$
USE `iot2`$$
DROP PROCEDURE IF EXISTS `ck1`$$
CREATE PROCEDURE `ck1`()
BEGIN
INSERT INTO iot2.aaaa VALUES (CURRENT_TIMESTAMP);
INSERT INTO iot2.aaab VALUES (CURRENT_TIMESTAMP);
END $$
DELIMITER ;


此时 删除aaaa 发现事务不在执行 错误日志中的提示为

2015-12-27 15:32:04 3451 [ERROR] Event Scheduler: [root@localhost][iot2.e_test_insert] Table 'iot2.aaaa' doesn't exist
2015-12-27 15:32:04 3451 [Note] Event Scheduler: [root@localhost].[iot2.e_test_insert] event execution failed.
2015-12-27 15:32:05 3451 [ERROR] Event Scheduler: [root@localhost][iot2.e_test_insert] Table 'iot2.aaaa' doesn't exist
2015-12-27 15:32:05 3451 [Note] Event Scheduler: [root@localhost].[iot2.e_test_insert] event execution failed.
2015-12-27 15:32:06 3451 [ERROR] Event Scheduler: [root@localhost][iot2.e_test_insert] Table 'iot2.aaaa' doesn't exist
2015-12-27 15:32:06 3451 [Note] Event Scheduler: [root@localhost].[iot2.e_test_insert] event execution failed.
2015-12-27 15:32:07 3451 [ERROR] Event Scheduler: [root@localhost][iot2.e_test_insert] Table 'iot2.aaaa' doesn't exist
2015-12-27 15:32:07 3451 [Note] Event Scheduler: [root@localhost].[iot2.e_test_insert] event execution failed.
2015-12-27 15:32:08 3451 [ERROR] Event Scheduler: [root@localhost][iot2.e_test_insert] Table 'iot2.aaaa' doesn't exist
2015-12-27 15:32:08 3451 [Note] Event Scheduler: [root@localhost].[iot2.e_test_insert] event execution failed.
2015-12-27 15:32:09 3451 [ERROR] Event Scheduler: [root@localhost][iot2.e_test_insert] Table 'iot2.aaaa' doesn't exist
2015-12-27 15:32:09 3451 [Note] Event Scheduler: [root@localhost].[iot2.e_test_insert] event execution failed.


可以发现 事件失败。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: