使用两个表中的条件从一个表中删除Mysql

时间:2015-04-10 08:43:27

标签: php mysql mysqli delete-row

我正在使用此代码/查询来删除虚假用户使用来自&#39; bogus&#39;表 显然这个查询不正确并显示错误:未知列&#39; bogus.user&#39;在&#39; where子句&#39; 考虑表格样本和虚假每个只有一个列,我想删除 sample 表中的行只保留表 bogus 的数据。< / p>

delete from sample where sample.user=bogus.user;

3 个答案:

答案 0 :(得分:1)

怎么样:

 delete from sample where sample.user in (SELECT user FROM bogus);

我认为这是最令人愉快的方式。在没有连接或嵌套选择的情况下,可能可以将两个表放在单个语句中。但如果你做错了,你就有可能删除两个表内容。因此,我说用这种方式做得更好。

答案 1 :(得分:0)

您需要加入此

delete s from sample s
join bogus b on b.user = s.user

答案 2 :(得分:0)

delete from sample where user in (select user from bogus)