MySQL-选择然后删除,最好是在单个查询中
我们通常需要执行以下操作,检索用户的产品ID,然后从数据库中删除它们MySQL-选择然后删除,最好是在单个查询中,mysql,sql,Mysql,Sql,我们通常需要执行以下操作,检索用户的产品ID,然后从数据库中删除它们 select id from mytable where user=123; 然后我们删除上面查询返回的id: delete from mytable where id in (1, 5, 6, 7); 当select将数据从服务器返回到客户端时,可能会插入该用户的新记录,因此我们会有选择地删除ID 有没有更好的方法来实现它 谢谢 编辑:你们中的一些人已经回答了, 从mytable中删除,其中user=123 但这是一个错
select id from mytable where user=123;
然后我们删除上面查询返回的id:
delete from mytable where id in (1, 5, 6, 7);
当select将数据从服务器返回到客户端时,可能会插入该用户的新记录,因此我们会有选择地删除ID
有没有更好的方法来实现它
谢谢
编辑:你们中的一些人已经回答了,
从mytable中删除,其中user=123
但这是一个错误的答案,因为可能会在完成查询的mysql服务器和尚未收到服务器响应的mysql客户端之间插入新行 如果应用程序无法完成其处理,该怎么办?您的方法似乎很合理。除了从mytable(其中用户=123)中删除
之外,您还能做什么呢?如果两个查询都与同一个表相关,为什么不能使用“从mytable(其中用户=123;)中删除”?插入该用户的新记录是什么意思?