在上更新后出现MySQL错误
在这里,我试图在更新了review_表后插入到付款_表中,但只有在review_表中的状态更新为2后才插入。但是在运行此触发器后出现错误,即 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,了解 触发器是:在上更新后出现MySQL错误,mysql,Mysql,在这里,我试图在更新了review_表后插入到付款_表中,但只有在review_表中的状态更新为2后才插入。但是在运行此触发器后出现错误,即 1064-您的SQL语法有错误;检查与MySQL服务器版本对应的手册,了解 触发器是: CREATE TRIGGER payment_details_trig AFTER UPDATE ON review_table FOR EACH ROW BEGIN IF NEW.status=2 INSERT INTO payment_table(paper_
CREATE TRIGGER payment_details_trig AFTER UPDATE ON review_table
FOR EACH ROW
BEGIN
IF NEW.status=2
INSERT INTO payment_table(paper_id, payment_mode, payment_refNo, payment_image,status)
VALUES (0,0,0,0,0);
END IF;
END;
除了丢失的
然后
之外,没有任何东西突出。您可能需要分隔符语句:
DELIMITER $$
CREATE TRIGGER payment_details_trig AFTER UPDATE ON review_table
FOR EACH ROW
BEGIN
IF NEW.status = 2 THEN
INSERT INTO payment_table(paper_id, payment_mode, payment_refNo, payment_image,status)
VALUES (0, 0, 0, 0, 0);
END IF;
END;
$$
DELIMITER ;
SQL
中的1064
问题有以下四种情况:
1) 保留字的使用:
每个版本的MySQL
都有自己的保留字列表。这些词用于特定目的或在MySQL
引擎中执行特定功能。如果您试图使用这些保留字中的一个
,您将收到1064错误。要解决此问题,您需要在该字周围加上反勾“`”
2) 缺少数据:
有时数据库中的数据丢失。当查询需要此数据时,这可能会导致问题
3) 输入错误或缺少命令:
1064错误的一个最常见原因是SQL
语句使用键入错误或缺少命令
4) 不推荐使用的命令:
有些已弃用的命令(计划删除但仍允许一段时间)最终会过时。这意味着该命令在SQL
语句中不再有效
在您的情况下,第三个选项是答案,即错误的原因。您没有在之后写入如果