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