1

我希望能够在我的 if 语句中执行两次执行。最后一个分号出现错误:

If(condition)
THEN
SET table.column = table1.column;
INSERT INTO errortable (column) VALUES ("Error");
END IF;

这也不起作用:

If(condition)
THEN
SET table.column = table1.column,
INSERT INTO errortable (column) VALUES ("Error");
END IF;

也不是这个:

If(condition)
THEN
SET table.column = table1.column
INSERT INTO errortable (column) VALUES ("Error");
END IF;

谢谢

4

2 回答 2

2

“BEGIN ... END 语法用于编写复合语句”,根据文档:http ://dev.mysql.com/doc/refman/5.6/en/begin-end.html

另外,我相信括号很重要:“还有一个 IF() 函数,它与此处描述的 IF 语句不同。参见第 12.4 节,“控制流函数”。IF 语句可以有 THEN、ELSE 和 ELSEIF 子句,并且它以 END IF 终止。” -- http://dev.mysql.com/doc/refman/5.6/en/if.html

于 2013-04-26T11:05:16.790 回答
1

您正在使用If()函数而不是If 语句。从条件中删除括号。

于 2013-04-26T11:04:47.213 回答