【问题标题】:Delete all rows except rows with specified entries删除除具有指定条目的行之外的所有行
【发布时间】:2014-08-10 17:39:42
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: mysql rows


    【解决方案1】:

    简单地使用不等于或不等于怎么样?您没有指定标准,但也许这会起作用:

    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';
    

    【讨论】:

    • 你的第一个例子正是我需要的!我可能试图让它变得比它真正需要的复杂。感谢您帮助这个年轻的 MYSQL 新手。
    猜你喜欢
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 2014-11-02
    • 1970-01-01
    • 2021-12-30
    相关资源
    最近更新 更多