除了某些行SQL命令之外,如何清空行中的数据

时间:2015-11-30 03:43:31

标签: mysql sql

除了我想要保留在一个SQL命令中的特定行之外,我将如何清空所有行。

我不想删除行。我只想清空其中的所有数据。

我想保留的行是具有以下ID的行

23
2611
1817
322
2359
156
167
1664
901
576

我想在一个SQL命令中清空所有其他行。

我的行ID从1-3000

2 个答案:

答案 0 :(得分:0)

如果您想将列设置为NULL,请执行以下操作:

update t
    set col1 = null,
        col2 = null,
        . . .
    where id not in (23, 2611, 1817, 322, 2359, 156, 167, 1664, 901, 576);

您必须单独列出每个列。

答案 1 :(得分:0)

你可能想尝试这样的事情:

UPDATE yourTable 
SET col1=null, col2=null ...
WHERE ID NOT IN (23 2611 1817 322 2359 156 167 1664 901 576)

但如果您有NOT NULL个约束或FOREIGN KEY约束,它可能无效。