我试图从表ersr2中存在的表ersr2中删除记录,但是出现语法错误。
这是我的命令:
MariaDB> delete from ersr2 e2 where e2.child_id in (select e.child_id from ersr e);
但是我收到以下语法错误:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'e2 where e2.child_id in (select e.child_id from ersr e)' at line 1
我发现这很奇怪,因为以下命令有效:
MariaDB> select e2.* from ersr2 e2 where e2.child_id in (select e.child_id from ersr e)
任何帮助将不胜感激。
最佳答案
在delete子句中声明要删除的表(删除e2)
delete e2
from ersr2 e2
INNER JOIN ersr e ON e.child_id = e2.child_id
您可以使用内部联接而不是IN(sud查询)子句
关于mysql - 试图从一个表中删除另一个表中存在的记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58941662/