2017-02-21 34 views
0

これは私のテーブルです。私はそれがエラーを返し、このようERROR 1364(HY000):フィールド 'id'にはデフォルト値がありません

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

データを挿入する主キーと自動

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) 

を満たしたとして期待idがしかし、そのIDはデフォルト値はありません。

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

そのIDは何かがTEST_TABLEに追加されるたびに0から始まり、increeseしなければならない、私はMySQLを伝えることができますどのように?

+0

の代わりに' DESCRIBE'を使用して:

See here for full documentation and example.

すでに既存のテーブルを変更したい場合は、次のコマンドを使用します。 –

答えて

0

フィールドidには、AUTO_INCREMENT属性が必要です。そうでなければ、それは未定義であり、それはエラーメッセージが言うものです。あなたは表test_table`をCREATE SHOW `の結果を掲示する必要があり

ALTER TABLE test_table CHANGE id id INT(8) AUTO_INCREMENT PRIMARY KEY; 
関連する問題