【发布时间】:2018-06-22 07:34:44
【问题描述】:
TRIGGER `dn_name`.`schedule_arrive` AFTER INSERT
ON `dn_name`.`administration_schedule`
FOR EACH ROW BEGIN
DECLARE approx_hr INT(11), update_hr DATETIME;
SELECT approx_hr FROM `administration_routes` WHERE id = NEW.route_id INTO approx_hr;
SELECT DATE_ADD(new.depart_time, INTERVAL approx_hr HOUR_MINUTE) INTO update_hr;
UPDATE administration_schedule SET arrive_time=approx_hr WHERE id = NEW.id;
END$$
在运行插入查询时,我设计从具有相关 id 的 route 表中选择大约一小时,并将该值从新插入的出发时间设置为 approx_hr、increase datetime 并分配给 update_hr最后更新启用触发器的同一张表中的arrive_time 字段。但是在执行我的查询时,系统显示如下;
错误代码: 1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 ', update_hr datetime; 附近使用的正确语法; 从
administration_routes中选择 approx_hr,其中 id =' 在第 7 行
【问题讨论】:
-
您不能对触发触发器的表进行操作。
标签: mysql sql database mysql-error-1064 database-trigger