「ERROR1136(21S01):列数が行2の値数と一致しません」のようなエラーが発生した場合 」VALUES
を使用する場合 MySQLのステートメント、これはおそらくROW()
で指定された列の数に不一致があるためです 条項。
このエラーを修正するには、すべてのROW()
が 句にはまったく同じ数の列が含まれています。
エラーが発生するコードの例を次に示します。
VALUES ROW(1, 2), ROW(3);
結果:
ERROR 1136 (21S01): Column count doesn't match value count at row 2
この場合、最初のROW()
で2つの値を渡しました。 ただし、2番目の値は1つだけです。
それがエラーの原因です。
エラーを修正するには、すべてのROW()
を確認するだけです。 句には同じ数の値が含まれています。
例:
VALUES ROW(1, 2), ROW(3, 4);
結果:
+----------+----------+ | column_0 | column_1 | +----------+----------+ | 1 | 2 | | 3 | 4 | +----------+----------+
INSERT
を使用する場合にも同じエラーが発生する可能性があります 間違った数の列をテーブルに挿入するステートメント。
このような場合は、正しい行数を挿入してください。または、テーブルに含まれるよりも少ない列にデータを挿入するために、データを挿入する列に明示的に名前を付けることができます。