MySQL 无法从操作是真正另一个表中的表中删除多个行

标签: MySQL phpmyadmin
发布时间: 2015/6/11 23:36:34
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我如何可以选择和删除所有那些行吗?

phpmyadmin 给我:

#1242 - Subquery returns more than 1 row

DELETE FROM zoo_category_item WHERE (SELECT id FROM zoo_item WHERE params = '1')

解决方法 1:

我想你需要一些表之间的连接。 就像这样:

DELETE FROM zoo_category_item
    WHERE zoo_category_item.id in (SELECT id FROM zoo_item WHERE params = '1');

我虽然不知道适当的列的名称。

您收到的错误因为子查询返回多个值。 在 where ,MySQL 会期望标量子查询 — — 一行、 一列。

如果你想要删除中的所有行 zoo_category_item 如果该条件为真,那么你会做:

DELETE FROM zoo_category_item
    WHERE exists (SELECT id FROM zoo_item WHERE params = '1');
赞助商