Подтвердить что ты не робот

Значение параметра для одного столбца всех записей в таблице

Я пытаюсь очистить один столбец для всех записей в моей таблице. Например, если в моей таблице было три столбца: id, comment и likes - я хотел бы очистить столбец likes.

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

чтобы потом это выглядело так:

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

Я предполагаю, что мне нужно будет использовать MySQL UPDATE, чтобы очистить значение likes, но как выполнить итерацию по всем записям и сохранить теги id и comment одинаковыми?

Я не хочу менять каждую запись вручную.

4b9b3361

Ответ 1

UPDATE your_table SET likes = NULL

или если ваш столбец likes не позволяет NULL:

UPDATE your_table SET likes = ''

Некоторые инструменты SQL, которые используются для выполнения запросов к БД, по умолчанию запрещают обновления ВСЕХ записей (запросов без условия where). Вы можете настроить это и удалить этот параметр сохранения или добавить предложение 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.