1136: Column count doesn't match value count(列数と値の数が一致しない)
MySQL意味
INSERT 文の列数が VALUES リストの値の数と一致しない。各列にはちょうど 1 つの値が必要である。
原因
INSERT の列リストと値リストの長さが異なる、列リストなしの INSERT で値がテーブルの列数と一致しない、カンマの欠落/余分、テーブル構造が変わったがスクリプトが更新されていない。
対処方法
列数と値の数を一致させる。常に明示的な列リストを使う: INSERT INTO my_table (a, b, c) VALUES (1, 2, 3); テーブル構造を確認する: DESCRIBE my_table; 値を列と 1 対 1 で対応させ、余分/不足しているカンマを修正する。
同じデータベースの他の項目
- 1044Access denied for user to database(データベースへのアクセス拒否)
- 1264Out of range value for column(列の範囲外の値)
- 1052Column 'x' in field list is ambiguous(フィールドリストの列が曖昧)
- 1048Column 'x' cannot be null(列は NULL にできない)
- 1292Incorrect datetime value / truncated incorrect value(日時の値が不正 / 不正な値の切詰め)
- 1406Data too long for column(列に対してデータが長すぎる)
- 1071Specified key was too long; max key length is 767 bytes(キーが長すぎる)