Я использую mysql и мне нужно обновить столбец с нулевым значением. Я пробовал это разными способами, и лучшее, что я получил, это пустая строка.
Есть ли специальный синтаксис для этого?
mysql
sql-update
Джим
источник
источник
Ответы:
Нет специального синтаксиса:
источник
NULL
это специальное значение в SQL. Итак, чтобы обнулить свойство, сделайте это:источник
Используйте
IS
вместо=
этого, чтобы решить синтаксис вашего примера проблемы:источник
Не забудьте посмотреть, если ваш столбец может быть нулевым. Вы можете сделать это с помощью
Если ваш столбец не может иметь значение NULL, при установке значения на NULL это будет приведенное значение.
Вот пример
источник
Для тех, кто сталкивался с подобной проблемой, я обнаружил, что при «симуляции»
SET = NULL
запроса PHPMyAdmin выдаст ошибку. Это красная сельдь .. просто запусти запрос и все будет хорошо.источник
В приведенных выше ответах было предложено много способов и повторений для одного и того же. Я продолжал искать ответ, поскольку упомянутый вопрос - вопрос, но не мог найти здесь.
Но в противоположность вышеупомянутому вопросу «обновить столбец с нулевым значением» может быть «ОБНОВИТЬ ВСЕ СТРОКИ В КОЛОННЕ, ЧТОБЫ ПОЛУЧИТЬ»
В такой ситуации следующие работы
is
как хорошоis not
работает в MySQLисточник
использовать
is
вместо=
Например:
Select * from table_name where column is null
источник
Другая возможная причина для пустой строки, а не истинного нуля, состоит в том, что поле является индексом или является частью индекса. Это случилось со мной: используя phpMyAdmin, я отредактировал структуру поля в одной из моих таблиц, чтобы разрешить NULL , установив флажок « Null », а затем нажав кнопку « Сохранить ». Появилось сообщение « Таблица цен была успешно изменена », поэтому я предположил, что изменение произошло - этого не произошло. После выполнения UPDATE для установки всех этих полей в NULL вместо них были заданы пустые строки , поэтому я снова взглянул на структуру таблицы и увидел, что « Null»столбец для этого поля был установлен на « нет ». Именно тогда я понял, что поле является частью первичного ключа !
источник
Если вы хотите установить нулевое значение с помощью запроса на обновление, задайте для столбца значение NULL (без кавычек). Update tablename set columnname = NULL
Однако, если вы непосредственно редактируете значение поля в инструментальной среде mysql, используйте клавишу (Esc + del), чтобы вставить нулевое значение в выбранный столбец.
источник
если вы будете следовать
то имя "" не NULL В MYSQL означает ваш запрос
SELECT * FROM table WHERE name = NULL
не работать или разочаровывать себяисточник
Я подозреваю, что проблема здесь в том, что кавычки были введены как литералы в вашем строковом значении. Вы можете установить эти столбцы в нуль, используя:
Конечно, вы должны сначала проверить, что эти значения действительно "" с чем-то вроде:
источник
если вы установите NULL для всех записей, попробуйте это:
ИЛИ просто установите NULL для специальных записей, используйте WHERE
источник