ホームページ > データベース > mysql チュートリアル > SQL の「列数が行 1 の値数と一致しません」エラーを修正するにはどうすればよいですか?

SQL の「列数が行 1 の値数と一致しません」エラーを修正するにはどうすればよいですか?

DDD
リリース: 2024-12-14 04:24:11
オリジナル
956 人が閲覧しました

How Do I Fix the

SQL の列と行の不一致エラーについて

SQL INSERT ステートメントを使用してテーブルにデータをインポートする場合、列数は、指定された値の数と一致します。発生する可能性のある一般的なエラーは、「列数が行 1 の値数と一致しません。」です。

この文脈では、「列」という用語は、特定のデータ値を保持するテーブル内のフィールドを指します。各列には一意の名前とデータ型があります。一方、「行」は、テーブル内の特定のレコードに対応するデータ値の完全なセットを表します。

「列数が行 1 の値数と一致しません」というエラーは、INSERT がステートメントは、テーブルに含まれる列とは異なる値の数を持つ行をテーブルに追加しようとしています。

たとえば、次のテーブルを考えてみましょう。定義:

CREATE TABLE wp_posts (
  id INT NOT NULL,
  author_id INT NOT NULL,
  date_created TIMESTAMP NOT NULL,
  date_modified TIMESTAMP NOT NULL,
);
ログイン後にコピー

次の INSERT ステートメントを使用してこのテーブルに行を挿入しようとすると:

INSERT INTO wp_posts VALUES (2781, 3, '2013-01-04 17:24:19', '2013-01-05 00:24:19');
ログイン後にコピー

前述のエラーが発生します。これは、INSERT ステートメントが 4 つの値を提供しているのに、wp_posts テーブルには 5 つの列 (id、author_id、date_created、date_modified、および wp_posts_status) があるためです。

このエラーを解決するには、各列に値を提供する必要があります。 。これを行うには、INSERT ステートメントで列名を明示的に指定します。

INSERT INTO wp_posts (id, author_id, date_created, date_modified)
VALUES (2781, 3, '2013-01-04 17:24:19', '2013-01-05 00:24:19');
ログイン後にコピー

列名を指定することで、どの値をどの列に挿入するかをデータベースに指示します。これにより、列数が値数と一致し、挿入操作が正常に完了することが保証されます。

以上がSQL の「列数が行 1 の値数と一致しません」エラーを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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