2017-02-21 3 views
0

Dies ist meine Tabelle. id erwartet als Primärschlüssel und Auto gefülltFehler 1364 (HY000): Feld 'ID' hat keinen Standardwert

mysql> DESCRIBE test_table 
-> ; 
+-------+--------------+------+-----+---------+-------+ 
| Field | Type   | Null | Key | Default | Extra | 
+-------+--------------+------+-----+---------+-------+ 
| id | int(8)  | NO | PRI | NULL |  | 
| name | varchar(256) | YES |  | NULL |  | 
| phone | varchar(20) | YES |  | NULL |  | 
+-------+--------------+------+-----+---------+-------+ 
3 rows in set (0.00 sec) 

Allerdings, wenn ich Daten einfügen auf diese Weise

mysql> INSERT INTO test_table (name, phone) VALUES ('Nikita', '26908050'); 

Es gibt Fehler, dass id nicht Standardwert hat.

ERROR 1364 (HY000): Field 'id' doesn't have a default value 

Wie ich MySQL kann sagen, dass id mit 0 und increese jedes Mal etwas hinzugefügt wird beginnen muss TEST_TABLE?

+0

Anstelle der Verwendung von 'DESCRIBE' Sie sollten das Ergebnis von SHOW CREATE TABLE test_table' schreiben. –

Antwort

0

Das Feld id erfordert das Attribut AUTO_INCREMENT. Ansonsten ist es undefined und das sagt die Fehlermeldung.

See here for full documentation and example.

Wenn Sie eine bereits vorhandene Tabelle ändern möchten, verwenden Sie den folgenden Befehl ein:

ALTER TABLE test_table CHANGE id id INT(8) AUTO_INCREMENT PRIMARY KEY; 
Verwandte Themen