予約語の列名と大文字の列名
見出しが Order と Name で、表名がスキーマ名つきの Public.Users という入力です。予約語の列名が二重引用符で囲まれ、大文字が小文字に畳まれることを確かめます。
入力
CSV
Order,Name 1,x
INSERT 先の表名
public.Users
区切り文字
カンマ(,)
1 行目は見出し(列名)
はい
空欄の値
NULL にする
数字の値
数値として出力(先頭が 0 のものは除く)
列名・表名の大文字・小文字
小文字にする(引用符なしの名前の既定)
文の形
1 つの INSERT に全行を並べる
結果
エラー 0 件・警告 0 件・情報 3 件
指摘(エラー・警告・情報)
- 情報 表名 表名の大文字を小文字にしました(引用符なしの名前は小文字に畳まれるため。PostgreSQL 4.1.1)。「public.users」
- 情報 列名 列名 2 個の大文字を小文字にしました(引用符なしの名前は小文字に畳まれるため。PostgreSQL 4.1.1)。表の列を "Name" のように大文字で作っている場合は「列名の大文字・小文字」を「そのまま」にしてください。
- 情報 列名 列名 1 個は予約語か英小文字・数字・_ 以外を含むため、二重引用符で囲みました(PostgreSQL 4.1.1・付録 C)。
| 表名 | public.users |
|---|---|
| 列数 | 2 列 |
| 出力した行 | 1 行 |
| NULL にした値 | 0 個 |
| 数値として出力した値 | 1 個 |
| 出力しなかった行 | 0 行 |
INSERT 文
INSERT INTO public.users ("order", name) VALUES
(1, 'x');検算(この結果になる理由)
ORDER は付録 C の予約語なので "order" と囲みます。Name は予約語ではなく、引用符なしの名前は小文字に畳まれる(4.1.1)ため name になり、表名の Users も users になります。情報の指摘は表名の変更・列名の変更・引用符の 3 件です。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- 文を作るだけで、データベースへ実行も検証もしません。列の型(日付・真偽値など)に合うかは判定せず、数字以外は文字列として書きます。
- 数値は -12 や 3.5 や 1e3 の形だけを数値にします。1. や .5 や +1 のような書き方は安全側で文字列として出力します。
- PostgreSQL の標準の設定(standard_conforming_strings が on)を前提にします。off の環境ではバックスラッシュの意味が変わるため、そのまま実行しないでください。
- 行ごとの値の数が見出しと違う行は INSERT に含めません。引用符の付け忘れを直してから作り直してください。
ご利用にあたって
- 出力した文は、本番のデータベースへ実行する前にテスト用の環境で確かめてください。表の定義(列の型・制約)に合わない値は実行時に失敗します。
- ツール内の予約語の一覧は PostgreSQL 18 のドキュメントにもとづきます。バージョンによって予約語が異なる場合は、念のため二重引用符で囲んでください。