我的数据库中有几个条目,可以说它是一个包含人书的图书库。

例如。

Bookname A - UserA
Bookname B - UserB


现在,我导入了一些同名书籍,并以“ UserC”作为其所有者。

所以现在我有

Bookname A - UserA
Bookname B - UserB
Bookname A - UserC
Bookname C - UserC


如何仅删除所有者为UserC且书名已被非UserC的其他人拥有的那些条目?

我的结果应该是:

Bookname A - UserA
Bookname B - UserB
Bookname C - UserC


谢谢!

最佳答案

内部选择的答案不起作用,因为它使用FROM子句中的更新目标。 MySQL不允许这样做。
但是通过删除联接,这是可能的。我的解决方案可能不是最优雅的,但它可行:

DELETE t1 FROM book_table t1 LEFT JOIN book_table t2 ON t1.book = t2.book AND t2.user <> 'C' WHERE t1.user = 'C' AND t2.user IS NOT NULL;


最好先对它进行测试,选择而不是删除,这样您就可以看到它将删除正确的条目。

关于php - 删除重复条目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39704332/

10-11 13:44