删除除具有指定条目的行之外的所有行

时间:2014-08-02 01:53:49

标签: mysql rows

除了非常具体的条目外,我基本上需要擦除我的MYSQL数据库。我想使用这些行中的数据来防止它们被删除所有查询删除。

我的GoogleFu不够强大,这是我唯一的起点:

    delete from YourTable 
    where id not in
    (
    select ID 
    from YourTable
    LIMIT 200
    )

现在我知道这是除了200个条目之外的所有内容,但当然这不是我想做的,但它具有我认为我需要的格式。这是一个很好的开始,但我需要停止删除包含唯一数据条目的任何行。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如何简单地使用不等于或不?您没有指定标准,但这可能会起作用:

delete from YourTable
    where id not in (1, 2, 3, 4, 5);

如果您的标准更复杂,可以使用or

delete from YourTable
    where col1 = 'Lucy' and col2 = 'Ricky' or
          col1 = 'Fred' and col2 = 'Irma' or
          col1 = 'Thurston' and col2 = 'Lovey';