ホームページ > データベース > mysql チュートリアル > SQL INSERT ステートメントで「列数が行の値数と一致しません」エラーが発生するのはなぜですか?

SQL INSERT ステートメントで「列数が行の値数と一致しません」エラーが発生するのはなぜですか?

Susan Sarandon
リリース: 2024-12-08 15:43:10
オリジナル
172 人が閲覧しました

Why Does My SQL INSERT Statement Result in a

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート