У меня есть таблица T, в которой есть столбец A. A по умолчанию имеет значение NULL. Спустя 40 строк я изменил значение по умолчанию на 1. Три строки имели значение 2. Я попытался выбрать все строки, где столбец A, где нет 2, и установить для них новое значение по умолчанию 1 (что не произошло автоматически, когда я переделал таблицу). Я впервые попробовал:
update T set A=1 where A != 2;
Nada. Не сработало Выделено ноль строк. Далее я попробовал:
update T set A=1 where !(A=2);
Нет, там тоже ничего. Я попытался подключить их к выбору, чтобы увидеть, было ли что-то не так с обновлением, но они тоже ничего не возвращали. Справочное руководство по MySQL говорит, что! = И! являются действительными операторами и должны быть совершенно действительными в этом контексте. Я наконец достиг своей цели, используя IS NULL, но эти операторы должны сработать. Так что же дает? Почему это не сработало?
Я использую версию MySQL: 5.1.41-3ubuntu12.6 (Ubuntu)