2012-05-18 120 views
0

我知道,这不是那么完美的问题,但这个问题是非常重要的,我说:MySQL查询删除行

DELETE FROM `pligg_links` WHERE `link_id` > 10000 

将这个查询删除表pligg_links具有比大link_id的所有条目10000?

+3

您是否尝试过运行此行来查看会发生什么? – MilkyWayJoe

+0

不,因为它需要完全按照其他方式所示完成...... – Chriswede

+4

@Chriswede您是否试图直接测试以上生产查询? –

回答

3

如果你不知道,然后运行SELECT先来看看什么将被删除:

SELECT * FROM `pligg_links` WHERE `link_id` > 10000 

由该查询返回的行是那些将改变SELECT *DELETE被删除。

我会建议您在编写DELETE声明时使用这种技术,以防止因错别字发生意外,特别是如果恢复意外删除的数据非常耗时。

+0

这是最好的答案 – MilkyWayJoe

1

假设你获得了propper权利,它会。

+0

它还会触发任何ON DELETE CASCADE外键并删除可能定义的触发器。 – DCoder

1

如果link_id确实是一个数字字段,那么是的。

1

在生产中使用它之前,请务必在数据库的备份副本上尝试破坏性语句。假设你有一个数据库的副本。