A5:SQL Mk-2

開発のこと、日々のこと

SQLite3で外部キー制約の「表示だけ」おかしい?

ホーム フォーラム A5:SQL Mk-2掲示板 SQLite3で外部キー制約の「表示だけ」おかしい?

2件の投稿を表示中 - 1 - 2件目 (全2件中)
  • 投稿者
    投稿
  • #10711 返信
    t_nakamura
    ゲスト

    SQLite3で外部キー制約の表示だけおかしいと思える状態です。
    再現手順は下記となります。

    a5m2(2.17.2)で、SQLite3ファイルに接続して、[新規]->[SQL] で、下記のクエリで2つのテーブルを作成します。

    CREATE TABLE m_prefectures
    (
    prefecture_id INTEGER NOT NULL
    ,prefecture_name TEXT NOT NULL
    ,prefecture_name_kana TEXT NOT NULL
    ,CONSTRAINT pk_m_prefectures PRIMARY KEY (prefecture_id)
    ,CONSTRAINT uq_m_prefectures_prefecture_name UNIQUE (prefecture_name)
    ,CONSTRAINT uq_m_prefectures_prefecture_name UNIQUE (prefecture_name_kana)
    )

    CREATE TABLE m_postal_data
    (
    postal_code TEXT NOT NULL
    ,prefecture_id INTEGER NOT NULL
    ,municipality_name TEXT NOT NULL
    ,municipality_name_kana TEXT NOT NULL
    ,town_name TEXT NOT NULL
    ,town_name_kana TEXT NOT NULL
    ,CONSTRAINT pk_m_postal_code PRIMARY KEY (postal_code)
    ,CONSTRAINT fk_m_postal_data_prefecture_id FOREIGN KEY (prefecture_id) REFERENCES m_prefectures(prefecture_id)
    )

    m_postal_data テーブルの prefecture_id カラムが、m_prefectures テーブルの prefecture_id カラムを参照しています。

    テーブル作成後・・・
    ・m_postal_data テーブルの[外部キー]タブを開いても、外部キーが表示されていません。
    ・ER図のリバース生成を行うと、リレーションシップの線が表示されません。

    ただし、制約自体は出来ているようで、m_prefectures にデータ未登録のまま、m_postal_data に INSERT しようとすると、”FOREIGN KEY constraint failed” となります。

    #10726 返信
    松原正和
    キーマスター

    t_nakamura さんこんにちは。
     
    申し訳ありません。現状、SQLite への接続では外部キーを列挙できないのは制限とさせてください。

2件の投稿を表示中 - 1 - 2件目 (全2件中)
返信先: SQLite3で外部キー制約の「表示だけ」おかしい?
あなたの情報:




コメントは受け付けていません。