我有两个表car_ride
和car_ride_saved
。
car_ride car_ride_saved
id | person | car | start | id | person | car | start | saved
在删除car_ride
中的行之前,我希望将该行保存在car_ride_saved
中。
我决定在数据库级别进行处理-我决定创建一个触发器:
DELIMITER $$
CREATE TRIGGER before_car_ride_delete
BEFORE DELETE ON car_ride
FOR EACH ROW
BEGIN
INSERT INTO car_ride_saved (
person, car, start, saved
) VALUES(
OLD.person, OLD.car, OLD.start, NOW()
);
END$$
DELIMITER;
但是,这抱怨语法错误。我正在运行mysql 8和(或)5.6。
在两个版本的语法中,根据this和this都是正确的(如果我没有忽略一些细节的话)。
错误是
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'person, start, car, saved
) VALUES(
OLD.person, OLD.car, OLD.start , NOW()
' at line 6
这是什么引起问题? 感谢您的帮助!