如果行存在,则在mysql中删除行。
- 论坛
- 如果行存在,则在mysql中删除行。
8 浏览
匿名的
0 Comments
MySQL中如果要在删除数据时判断某一行是否存在,可以将判断条件放入DELETE语句的WHERE子句中,实现相同的效果。例如,可以使用以下语句进行删除操作:
DELETE FROM table2
WHERE col2 = ?
AND EXISTS(SELECT 1 FROM table1 WHERE col1 = ? LIMIT 1)
需要注意的是,原始查询中的两个问号(?)的位置已经交换。
据我所知,只有在MySQL中才可以使用limit 1来限制查询结果的行数。而TOP 1则是SQL Server的语法。
在这种情况下,LIMIT 1是不必要的,因为EXISTS关键字已经具有相同的功能。