删除行我有这样的查询:如果行存在,那么在MySQL
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) THEN
DELETE FROM table2 WHERE col2 = ?
END IF
但我不知道为什么上面的查询不起作用。这也不起作用:
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) BEGIN
DELETE FROM table2 WHERE col2 = ?
END
MySQL告诉我有一个语法错误,我该如何解决它?
MySQL(通常)不是过程式编程语言;你不能在过程之外使用'IF'语句。文档确实说明了这一点。如果你真的要阅读它,你也可以找到你的问题的答案。是否有某些原因导致您无法阅读文档? –
是的。所以你几乎坚持在应用程序逻辑中做'IF'。 –
@LightnessRacesinOrbit其实我看到[这个答案](http://stackoverflow.com/questions/639854/check-if-a-row-exists-otherwise-insert#639874),并认为也许有可能使用'IF'在mysql中!无论如何,好的谢谢。 – Shafizadeh