mysql - MySQL 声明继续处理程序语法错误
问题描述
我正在为 MySQL 编写数据库脚本,但在尝试运行脚本时遇到了问题。insert 语句可能会引发外键约束错误,这很好,但我想通过不将任何内容插入到 archivedBooking 并且不从预订中删除来处理它。然后我想在最后一个 END 之后继续执行;
我收到此错误:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取在 'DECLARE CONTINUE HANDLER FOR 1452 附近使用的正确语法”
BEGIN
DECLARE CONTINUE HANDLER FOR 1452
BEGIN
SELECT 'error, but continue';
END;
INSERT INTO archivedBooking
SELECT BookingId, StartDate, EndDate, StaffId, AvailabilityId
FROM booking
WHERE EndDate < CURDATE();
DELETE FROM booking WHERE EndDate < CURDATE();
END;