Dlaczego MySQL pozwala zaktualizować kolumnę NOT NULL na NULL?
biegnęMySql
wubuntu 10.10
. Stworzyłem tabelę o nazwie'employee'
o 3 nazwach pólempno, imię i wynagrodzenie. Wstawiono kilka elementów. W trakcie procesu chcę zmienić atrybut wynagrodzenia jako'NOT NULL'
. Zmieniam stół jak
ALTER TABLE employee MODIFY salary int(10) NOT NULL;
Zapytanie zostało wykonane. Chciałem przetestować za pomocą polecenia,
UPDATE employee SET salary=NULL;
Query OK, 15 rows affected, 15 warnings (0.06 sec)
Rows matched: 15 Changed: 15 Warnings: 15
również dał ostrzeżenia" (Code 1048): Column 'salary' cannot be null "
(Powtarzane dla każdego wiersza)
Ale kiedy zobaczyłem mój stół, wszystkie pensje były Zeros ('0'
).
Te same zapytania powodują błąd zamiast ostrzeżenia w MySql WINDOWS XP
Sprawdziłem oba silniki INNODB i MYISAM, ale ten sam wynik. Pomóż mi wiedzieć, co się stało obok przetwarzania.