mysql-设置选项卡中所有记录的一列的值

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

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

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

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

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

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

user1199434 asked 2020-02-23T02:28:30Z
1个解决方案
84 votes
UPDATE your_table SET likes = NULL

或者您的NULL列不允许=

UPDATE your_table SET likes = ''

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

UPDATE your_table 
SET likes = NULL
WHERE 1 = 1

如果与NULL比较,则还需要=运算符。 例:

UPDATE your_table 
SET likes = NULL
WHERE likes IS NOT NULL

因为将NULL与相等运算符(=)比较会返回UNKNOWN。 但是IS操作员可以处理NULL

juergen d answered 2020-02-23T02:28:58Z
translate from https://stackoverflow.com:/questions/10364200/setting-value-for-one-column-of-all-records-in-table