Sha*_*deh 6 mysql if-statement exists
我有这样的查询:
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) THEN
DELETE FROM table2 WHERE col2 = ?
END IF
Run Code Online (Sandbox Code Playgroud)
但我不知道为什么上面的查询不起作用.这也不起作用:
IF EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1) BEGIN
DELETE FROM table2 WHERE col2 = ?
END
Run Code Online (Sandbox Code Playgroud)
MySQL告诉我有一个语法错误,我该如何解决?
您可以将条件移动到WHERE子句中DELETE以实现相同的效果,如下所示:
DELETE FROM table2
WHERE col2 = ?
AND EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1)
Run Code Online (Sandbox Code Playgroud)
请注意,两个?s已切换与原始查询相关的位置.
| 归档时间: |
|
| 查看次数: |
10158 次 |
| 最近记录: |