親のキーが重複している場合

親のキー 1 が 2 行ある例です。外部キーの参照先は値が重複しない列であるべきなので警告し、子のキー 1 は親に存在するため孤児はありません。

入力

親の CSV(例: 顧客一覧)

id
1
1

子の CSV(例: 注文一覧)

cid
1

親の 1 行目は見出し

はい

子の 1 行目は見出し

はい

親のキーの列(左から何列目か)

1

子の参照列(左から何列目か)

1

「NULL」という文字も NULL とみなす

はい

結果

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

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

  • 警告 親 2 行、3 行 親のキー「1」が 2 行にあります。外部キーが参照する列は主キーか一意制約の列である必要があるため、親のキーの重複を直してください(PostgreSQL 5.5.5)。
  • 情報 全体 子のキーが空欄 または NULLの行(0 行)は NULL とみなし、検査から除きました。PostgreSQL の既定の外部キー(MATCH SIMPLE 相当)では、参照列が NULL の行は制約を満たさなくてよいとされています。
親の行数2 行
子の行数1 行
孤児レコード0 行
NULL で検査対象外0 行

孤児レコードの一覧

孤児レコードの一覧
子の行親に無いキー子の行の内容
-(なし)孤児レコードは見つかりませんでした

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

親のキー 1 は 2 行目と 3 行目に出ていて、一意ではありません。子のキー 1 は親に存在するので孤児はなく、親の重複の警告が 1 件、NULL の説明の情報が 1 件になります。

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

このツールの制約

ご利用にあたって

  • 孤児レコードの有無は、貼り付けた 2 つの CSV の範囲だけの結果です。データベース全体の整合性は、取り込み後の外部キー制約で確かめてください。
  • 顧客情報などを含む場合でも、ブラウザの外には送信されません。画面の共有やスクリーンショットにはご注意ください。

ほかの入力例