2016-04-18 10 views
0

MySqlでは、自動インクリメントされた列の値を指定しなければなりません。なぜ私はそれをする必要があるのか​​分かりません。MySqlの自動インクリメント列の値を明示的に指定する

私は

INSERT INTO flask VALUES ('Subject1','1892-12-27','1994-11-29','detailed description'), ('Subject2','1992-01-17','1694-11-31','HTML view'); を使用して行を挿入しようとすると、私は

を言うエラーメッセージを取得し、上記の表を作成した後、次の列

CREATE TABLE IF NOT EXISTS Aask (task_id INT(11) AUTO_INCREMENT, SUBJECT VARCHAR(45) DEFAULT NULL, start_date DATE DEFAULT NULL, end_date DATE DEFAULT NULL, description VARCHAR(200) DEFAULT NULL, PRIMARY KEY (task_id) );

でテーブルを作成しました

クエリ:INSERT INTOフラスコのVALUES( 'Subject1'、 '1892-12-27'、 '1994-11-29'、 'detailed description')、( 'Subject2'、 '1992-01-17'、 '1694 -11-31 '、' H ...

エラーコード:1136 列数が行1

で値の数と一致していない私は5列がテーブルにある知っていると私は、値リストに4つの値のみを与えているが、なぜ私が言及するように強制しています自動インクリメント列の値?

これはほとんどの人には基本的に聞こえるかもしれませんが、私はちょうどMySqlを使い始めていますので、ここで助けていただければ幸いです。

答えて

1

この挿入

INSERT INTO flask (SUBJECT, start_date, end_date, description) values 'Subject1','1892-12-27','1994-11-29','detailed description'); 
+0

を使用してくださいしかし、なぜ次のクエリが動作しないということです? 'フラスコに VALUES( 'Subject2'、 '1997-01-01'、 '1999-12-31' を挿入、 'ここに挿入されたテキスト') '; – Ikshwak

+0

挿入するカラムを指定していないので、mysqlはすべてのカラムの値が –

+0

であればそれを確認して、承認します –