引用符を忘れたカンマで列がずれた行

1,000 のような桁区切りのカンマを引用符で囲まなかったため、その行だけ値が 1 つ多くなった壊れた例です。エラーの行は INSERT 文から外れます。

入力

CSV

item,price
りんご,300
みかん,1,000
ぶどう,"1,500"

INSERT 先の表名

items

区切り文字

カンマ(,)

1 行目は見出し(列名)

はい

空欄の値

NULL にする

数字の値

数値として出力(先頭が 0 のものは除く)

列名・表名の大文字・小文字

小文字にする(引用符なしの名前の既定)

文の形

1 つの INSERT に全行を並べる

結果

エラー 1 件・警告 0 件・情報 0 件

指摘(エラー・警告・情報)

  • エラー 3 行目 値が 3 個です(列名は 2 個)。この行は INSERT 文に含めていません。カンマを含む値を二重引用符で囲み忘れていないか確認してください。
表名items
列数2 列
出力した行2 行
NULL にした値0 個
数値として出力した値1 個
出力しなかった行1 行

INSERT 文

INSERT INTO items (item, price) VALUES
  ('りんご', 300),
  ('ぶどう', '1,500');

検算(この結果になる理由)

見出しは 2 列です。3 行目は 1,000 のカンマで値が 3 つになりエラー 1 件で、この行は出力に含まれません。4 行目の "1,500" は引用符で囲まれているため 1 つの値で、数値の形ではないため文字列 '1,500' として出力されます。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

  • 出力した文は、本番のデータベースへ実行する前にテスト用の環境で確かめてください。表の定義(列の型・制約)に合わない値は実行時に失敗します。
  • ツール内の予約語の一覧は PostgreSQL 18 のドキュメントにもとづきます。バージョンによって予約語が異なる場合は、念のため二重引用符で囲んでください。

ほかの入力例