我的数据库中有几个条目,让我们说它是一个包含人们书籍的图书馆。
E.g。
Bookname A - UserA
Bookname B - UserB
我现在导入了一些同名的书籍,并制作了#34; UserC"作为他们的主人。
所以现在我有了
Bookname A - UserA
Bookname B - UserB
Bookname A - UserC
Bookname C - UserC
如何只删除那些所有者为UserC并且该书名已由另一个非UserC的人拥有的条目?
我的结果应该是:
Bookname A - UserA
Bookname B - UserB
Bookname C - UserC
感谢你!
答案 0 :(得分:0)
您可以使用子选择基于获取更多条目的名称和过滤器删除用户=' C'
struct SomeStruct {
void Initialise() volatile
{
/*...*/
}
}
答案 1 :(得分:0)
内部选择的答案不起作用,因为它使用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;
首先使用select而不是delete来测试它,这样你就可以看到它会删除正确的条目。