0
有没有一种优雅的方式可以从表格中删除所有未选定的条目?如何从表格中选择并删除所有其他未选定的条目?
有没有一种优雅的方式可以从表格中删除所有未选定的条目?如何从表格中选择并删除所有其他未选定的条目?
我想你的意思是DELETE
而不是DROP
。 DROP
只能删除整个对象(例如TABLE)。如果你不担心性能,你可以像
DELETE FROM mytable WHERE mytable_key NOT IN
(SELECT mytable_key FROM mytable WHERE some_or_another_condition);
许多的DB允许,可能会表现得更好,如果你有这样做频繁的基础上JOIN
型语法。
可怕的和通用的声明......但是这会无论从任何表做...我就想到你居然会做一个生产表虽然...
从SomeTable哪里都不删除(一些条件)
请问MYSQL有这样的功能吗? – Hamster 2011-05-23 20:12:25
我不认为这将在mysql中工作,因为在同一语句(http://dev.mysql.com/doc/refman/5.1/en/delete.html)中删除和从同一表中选择的限制。 。但你可以通过做一个嵌套子查询来解决它(参见http://bugs.mysql.com/bug.php?id=5037底部的示例): – davek 2011-05-23 20:18:23
@davek你看起来是正确的:显然在MySQL中它有必要为子查询提供别名。这是不合标准的。 OP的说明:davek的第二个链接显示了解决方法。 – 2011-05-23 20:25:40