$2 が抜けた INSERT

列を削ったときに番号を詰め忘れて、VALUES が $1, $3, $4 になってしまった例です。最大番号と使われている番号の数がずれる欠番を見つけます。

入力

SQL

INSERT INTO items (a, b, c) VALUES ($1, $3, $4)

数える書き方

$1, $2…(PostgreSQL の位置パラメータ)だけ

実際に渡す値の個数(任意)

(空)

結果

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

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

  • 警告 全体 最大番号は $4 ですが、$2 が使われていません(欠番)。番号を詰めるか、渡す値の個数を最大番号に合わせて確認してください(PREPARE では $1, $2… と位置で参照します)。
最大番号$4
使われている番号の数3 個
欠番$2

プレースホルダの一覧

プレースホルダの一覧
プレースホルダ出現回数行
$111 行目
$311 行目
$411 行目

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

使われている番号は $1・$3・$4 の 3 個で、最大番号は $4 です。$1 から $4 の間で $2 だけが使われていないので欠番として警告が 1 件出ます。渡す値の個数は未入力のため、その確認は行いません。

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

このツールの制約

ご利用にあたって

  • 結果は字句の読み取りにもとづく確認で、実際のクエリが正しく実行できることを保証するものではありません。
  • ドキュメントは PostgreSQL License で公開されています。このサイトはその内容を要約して参照しており、転載はしていません。

ほかの入力例