mysql - 如何在一个预定事件中获取多个 MySQL 语句?

标签 mysql

我正在尝试在一个预定事件中执行两个语句,但它不起作用。它不会做任何事情。你能帮我找出问题所在吗?

delimiter |
CREATE EVENT resetTimeClockTimeToday 
ON SCHEDULE EVERY 1 DAY STARTS '2012-07-10 00:00:00' DO 
BEGIN 
   UPDATE timeclock.employees SET timeToday = 0; 
   UPDATE timeclock.punches SET missedOut = 1 WHERE timeOUT IS NULL; 
END|
delimiter ;

最佳答案

您需要正确使用不同的分隔符,例如:

DROP EVENT IF EXISTS `Daily Event`;
DELIMITER $$
CREATE DEFINER=`root`@`localhost` EVENT `Daily event` ON SCHEDULE EVERY 1 DAY STARTS '2015-03-06 00:30:00' ON COMPLETION PRESERVE ENABLE DO
BEGIN

-- Newly due summary sheets
UPDATE          `summaries`
SET             `status` = 'DUE'
WHERE           `status` = 'OPEN'
AND             NOW() >= LAST_DAY(CONCAT(`year`, '-', `month`, '-01'));

-- Alert user that didn't clock out
INSERT INTO     `alerts` (`from`, `to`, `subject`, `message`)
SELECT          ....;

-- Alert manager that didn't clock out
INSERT INTO     `alerts` (`from`, `to`, `subject`, `message`)
SELECT          ....;

-- Alert for stale tickets
INSERT INTO     `alerts` (`from`, `to`, `subject`, `message`)
SELECT          ....;

END;
$$;

关于mysql - 如何在一个预定事件中获取多个 MySQL 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11411921/

相关文章:

php - 增强csv文件数据库导入

php - 从数据库中删除不能正常工作

MySQL "ERROR 1005 (HY000): Can' t 创建表 'foo.#sql-12c_4' (errno : 150)"

php - 我如何在获取关联时制作表格

mysql - 如何更改用于存储 liferay 内容的数据库?

MySQL触发器转换

php - SQLSTATE[42S22] : Column not found: 1054 Unknown column 'table_name.id'

php - 如何从php中的日期中获取数字?

mysql - 使用 MySQL 为每个用户保留每日排名日志的更有效方法是什么?

php - 我的 IF 函数不工作