mysql kann keinen Datensatz einfügen, bei dem der vorzeichenlose Primärschlüssel null ist

7

Ich versuche, einen Datensatz in dim_channel Tabelle mit Null für den Primärschlüssel (unsigned int) einzufügen.

Mysql Befehl:

%Vor%

Ergebnisse:

%Vor%

Bitte beachten Sie, dass channel_id den Wert 1 hat, nicht 0, wie ich es erwartet habe.

Jeder weiß, warum das passiert.

Übrigens kann ich den Datensatz aktualisieren als: update dim_channel set channel_id = 0 wobei channel_id = 1;

Ich möchte nur wissen, warum ich den Datensatz mit channel_id = 0 nicht an erster Stelle einfügen kann.

Vielen Dank.

====== MySQL-Befehl zum Testen ====

- Erstellen Sie eine Tabelle

%Vor%

- Eintrag einfügen

%Vor%

- siehe Ergebnis

%Vor%     
user1828513 14.05.2013, 17:44
quelle

2 Antworten

6

Dies liegt daran, dass Sie einen Autoinkrement-Primärschlüssel für dieses Feld haben. Wenn Sie NULL oder 0 für diesen Wert beim Einfügen zuweisen, erhalten Sie explizit die nächste Zahl in der Sequenz für die Tabelle.

    
Mike Brant 14.05.2013, 17:48
quelle
25

Ich weiß, das ist ein alter Beitrag, aber trotzdem:

Verwenden:

%Vor%

vor dem Einfügen des Werts 0 in Ihre Dimensionen.

    
Laurentiu 02.12.2013 11:54
quelle

Tags und Links