У меня проблема, когда при попытке выбрать строки с NULL для определенного столбца он возвращает пустой набор. Однако, когда я смотрю на таблицу в phpMyAdmin, она говорит null для большинства строк.MySQL: выбор строк, где столбец равен нулю
Мой запрос выглядит следующим образом:
SELECT pid FROM planets WHERE userid = NULL
Пусто набор каждый раз.
Многие места сказали, что они не сохранены как «NULL» или «null» вместо фактического значения, и один попросил поискать просто пространство (userid = ' '
), но ни один из них не работал. Было предложено не использовать MyISAM и использовать innoDB, потому что MyISAM имеет проблемы с хранением нулевого значения. Я переключил таблицу на innoDB, но теперь я чувствую, что проблема может заключаться в том, что она по-прежнему не является нулевой из-за способа ее преобразования. Я бы хотел сделать это, не создавая таблицу как innoDB или что-то еще, но если это необходимо, я могу, конечно, попробовать это.
У MyISAM нет проблем с сохранением нулевого значения. Семантика самих NULL должна быть независимой от движка. – MarkR