SQL の列数の不一致エラーについて
SQL INSERT ステートメントを使用してデータベース テーブルにデータを設定すると、「列数が一致しない」というエラーが発生します。 「行の値の数が一致しない」というメッセージが表示されてイライラすることがあります。この問題は、INSERT ステートメントの列の数が宛先テーブルの列の数と一致しない場合に発生します。
あなたの場合、次のステートメントを使用して wp_posts テーブルにデータを挿入しようとしたときに発生します。
INSERT INTO `wp_posts` VALUES(5, 5, '2005-04-11 09:54:35', '2005-04-11 17:54:35'
テーブル wp_posts に INSERT ステートメントで指定した値の数よりも多くの列があるため、このエラーが発生します。この例の最初の値 2781,3 は、テーブルの行 2781 と列 3 を正しく表しています。ただし、2 番目の値 5,5 は、行数と列数が両方とも 5 であることを意味しますが、テーブルにはさらに多くの列がある可能性があります。
この問題を解決するには、テーブル内のすべての列に値を指定する必要があります。新しいレコードを挿入しています。これを行うには、INSERT ステートメントで列名を明示的に指定します。
INSERT INTO `wp_posts` (column_name1, column_name2, ...) VALUES (1, 3, ...)
指定した列名がテーブル定義内の列の順序と一致していることを確認してください。
次の点に注意してください。 INSERT ステートメントは、既存のレコードを変更するためではなく、テーブルに新しいレコードを作成するために使用されます。既存のレコードのデータを変更するには、代わりに UPDATE ステートメントを使用してください。
以上がSQL INSERT ステートメントで「列数が行の値数と一致しません」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。