Ich bin MySql
in ubuntu 10.10
ausgeführt. Ich erstellte eine Tabelle mit dem Namen 'employee'
mit 3 Feldnamen EMPFO, Name und Gehalt. Wenige Entitäten eingefügt. In der Mitte des Prozesses möchte ich Gehaltsattribut wie 'NOT NULL'
ändern. I Ändern Sie die Tabelle alsWarum erlaubt MySQL, eine NOT NULL-Spalte auf NULL zu aktualisieren?
ALTER TABLE employee MODIFY salary int(10) NOT NULL;
Abfrage ausgeführt. Ich wollte mit dem Befehl testen,
UPDATE employee SET salary=NULL;
Query OK, 15 rows affected, 15 warnings (0.06 sec)
Rows matched: 15 Changed: 15 Warnings: 15
gab auch Warnungen " (Code 1048): Column 'salary' cannot be null "
(für jede Zeile wiederholt)
Aber wenn ich meinen Tisch sah, alle Gehälter waren Zeros ('0'
).
Gleiche Abfragen führen Fehler statt Warnung in WINDOWS XP MySql
ich in beiden INNODB und MYISAM Motoren aber gleiches Ergebnis geprüft. Bitte helfen Sie mir zu wissen, was neben der Verarbeitung passiert ist.
Was ist Ihre Frage? Sie legen Ihr Feld auf "nicht null" fest und legen es auf NULL fest. Es wird wie erwartet auf "0" gesetzt. Was machen sie in dir? Setzen Sie das Feld auf "NULL"? Das wäre verrückt. – Nanne
Was genau meinst du mit "gut in XP"? – Quassnoi
@Nanne und @ Quassnoi In Windows lassen sich keine Nullwerte aktualisieren und die ursprünglichen Gehälter anzeigen, aber hier werden nur Nullen angezeigt. Ja, es mag komisch sein, aber für mich waren die Ergebnisse unerwartet. :) – kik