gpt4 book ai didi

mysql - 如果行存在,则删除 mysql 中的行

转载 作者:可可西里 更新时间:2023-11-01 06:42:34 25 4
gpt4 key购买 nike

我有这样的查询:

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 告诉我有语法错误,我该如何解决?

最佳答案

您可以将条件移动到 DELETEWHERE 子句中以达到相同的效果,如下所示:

DELETE FROM table2
WHERE col2 = ?
AND EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1)

请注意,两个 ? 已经交换了与原始查询相关的位置。

关于mysql - 如果行存在,则删除 mysql 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com