11 ответов:
нет специальный синтаксис:
CREATE TABLE your_table (some_id int, your_column varchar(100)); INSERT INTO your_table VALUES (1, 'Hello'); UPDATE your_table SET your_column = NULL WHERE some_id = 1; SELECT * FROM your_table WHERE your_column IS NULL; +---------+-------------+ | some_id | your_column | +---------+-------------+ | 1 | NULL | +---------+-------------+ 1 row in set (0.00 sec)
NULL- Это специальное значение в SQL. Итак, чтобы обнулить свойство, сделайте следующее:UPDATE table SET column = NULL;
использовать
ISвместо=Это решит вашу проблему пример синтаксиса:UPDATE studentdetails SET contactnumber = 9098979690 WHERE contactnumber IS NULL;
Не забудьте посмотреть, если ваш столбец может быть null. Вы можете сделать это с помощью
mysql> desc my_table;Если ваш столбец не может быть null, когда вы установите значение null, это будет значение приведения к нему.
вот пример
mysql> create table example ( age int not null, name varchar(100) not null ); mysql> insert into example values ( null, "without num" ), ( 2 , null ); mysql> select * from example; +-----+-------------+ | age | name | +-----+-------------+ | 0 | without num | | 2 | | +-----+-------------+ 2 rows in set (0.00 sec) mysql> select * from example where age is null or name is null; Empty set (0.00 sec)
для тех, кто сталкивается с подобной проблемой, я обнаружил, что при "моделировании" a
SET = NULLзапрос, PHPMyAdmin выдаст ошибку. Это отвлекающий маневр.. просто выполнить запрос и все будет хорошо.
еще одна возможная причина для пустой строки, а не true null означает, что поле является индексом или является частью индекса. Это случилось со мной: используя phpMyAdmin, я отредактировал структуру поля в одной из моих таблиц, чтобы разрешить NULLs проверка " Null " флажок, затем нажав "сохранить". " таблица цен была успешно изменена" была представлена, поэтому я предположил, что изменение произошло-это не. После обновление установить все эти поля NULL, вместо этого они были установлены в пустые строки, поэтому я снова взглянул на структуру таблицы и увидел, что " Null" столбец для этого поля был установлен в 'нет'. Именно тогда я понял, что поле было частью первичный ключ!
Если вы хотите установить значение null с помощью update query set column value в NULL (без кавычек) обновление имя_таблицы набор имя_столбца = значение null
однако, если вы непосредственно редактируете значение поля внутри MySQL workbench, то используйте (Esc + del) нажатие клавиши для вставки нулевого значения в выбранный столбец
, Если вы следуете
UPDATE table SET name = NULLтогда имя "" not NULL в MYSQL означает ваш запрос
SELECT * FROM table WHERE name = NULLне работать или разочаровывать себя
Я подозреваю, что проблема здесь заключается в том, что кавычки были введены как литералы в строковое значение. Вы можете установить эти столбцы в null с помощью:
UPDATE table SET col=NULL WHERE length(col)<3;вы должны, конечно, сначала проверить, что эти значения действительно "" С что-то вроде:
SELECT DISTINCT(col) FROM table WHERE length(col)<3;
в приведенных выше ответах было предложено много способов и повторений для того же самого. Я продолжал искать ответ, как уже упоминалось, это вопрос, но не мог найти здесь.
но напротив вышеуказанного вопроса " обновить столбец с нулевым значением" Может быть "обновить все строки в столбце до NULL"
в такой ситуации работает следующее
> update table_name
> set field_name = NULL
> where field_name is not NULL;
isа такжеis notработает в mysql
Comments