一尘不染

表中所有记录的一列的设置值

sql

我正在尝试清除表中所有记录的一列。例如,如果我的表具有三列:idcommentlikes-我希望能够清除该likes列。

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |3    |
|2  |hello  |12   |
|3  |hey    |1    |
+---+-------+-----+

这样一来,它看起来像这样:

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |     |
|2  |hello  |     |
|3  |hey    |     |
+---+-------+-----+

我猜想我将不得不使用MySQLUPDATE清除likes值,但是如何遍历所有记录并保持idcomment字段相同?

我不想手动更改每条记录。


阅读 124

收藏
2021-03-17

共1个答案

一尘不染

UPDATE your_table SET likes = NULL

或如果您的likes专栏不允许NULL

UPDATE your_table SET likes = ''

where默认情况下,某些用于执行数据库查询的SQL工具阻止对所有记录(没有子句的查询)进行更新。您可以配置它并删除该保存设置,也可以添加一个适用于所有记录的where子句,true并像这样进行更新:

UPDATE your_table 
SET likes = NULL
WHERE 1 = 1

如果与进行 比较NULL则还需要IS运算符。例子:

UPDATE your_table 
SET likes = NULL
WHERE likes IS NOT NULL

因为 比较 NULL与所述操作者相等(=)返回 UNKNOWN 。但是IS操作员可以处理NULL

2021-03-17