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

use*_*434 47 mysql sql

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

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |3    |
|2  |hello  |12   |
|3  |hey    |1    |
+---+-------+-----+
Run Code Online (Sandbox Code Playgroud)

所以事后看起来像这样:

+---+-------+-----+
|id |comment|likes|
+-----------------+
|1  |hi     |     |
|2  |hello  |     |
|3  |hey    |     |
+---+-------+-----+
Run Code Online (Sandbox Code Playgroud)

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

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

jue*_*n d 84

UPDATE your_table SET likes = NULL
Run Code Online (Sandbox Code Playgroud)

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

UPDATE your_table SET likes = ''
Run Code Online (Sandbox Code Playgroud)

一些用于执行数据库查询的SQL工具where默认情况下会阻止所有记录(没有子句的查询)的更新.您可以配置它并删除该savety设置,或者您可以添加适用于所有记录的where子句true并以此方式更新所有内容,如下所示:

UPDATE your_table 
SET likes = NULL
WHERE 1 = 1
Run Code Online (Sandbox Code Playgroud)