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