表の制約の行とコメントを含む定義

PRIMARY KEY や CHECK の行、コメント、文字列の中の user や select を含む定義です。これらを列名と取り違えないことを確かめる境界の例です。

入力

CREATE TABLE 文または列名の一覧

CREATE TABLE t (
  a text DEFAULT 'select, user', -- user
  b int, /* order */
  PRIMARY KEY (a),
  CONSTRAINT c CHECK (b > 0)
);

入力の種類

CREATE TABLE 文(列の名前を読み取る)

結果

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

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

  • 情報 全体 予約語と衝突する名前は見つかりませんでした。非予約語(予約語表の「非予約語」)は引用符なしで列名にできます。
読んだ表1 個
検査した名前2 個
引用符なしで使えない名前0 個

列名ごとの判定

列名ごとの判定
番号表列名(入力どおり)区分引用符なしで列名にできるか
1ta予約語ではないできる
2tb予約語ではないできる

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

文字列 'select, user' とコメントの中の語は名前ではないので読み飛ばします。PRIMARY KEY と CONSTRAINT で始まる 2 行は表の制約で、列は a と b の 2 つです。どちらも予約語ではないため、指摘は予約語がないという情報 1 件だけです。

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

このツールの制約

ご利用にあたって

  • この判定は PostgreSQL の予約語だけを対象にしています。複数のデータベースで使う SQL では、それぞれの製品の予約語も確認してください。
  • SQL の中身(表名・列名)に機密情報が含まれる場合も、入力はブラウザの外に出ません。結果をコピーして共有する際の取り扱いにはご注意ください。

ほかの入力例