- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブル作成 外部参照 配列)
外部参照のテーブル作成でエラーが発生する理由とは?
このQ&Aのポイント
- 外部参照のテーブル作成においてエラーが発生している場合、原因はSQL構文の誤りが考えられます。
- 具体的には、エラーメッセージに示される位置や文字に注目して、スペルミスやカッコの閉じ忘れ、不正なキャストなどの可能性があります。
- また、外部キー制約が正しく設定されているか、参照するテーブルが存在するかなども確認する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
申し訳ありません配列の部分を見落としていました。 配列を使った設計はあまり良いことにならないのですが、参考までに。 CREATE TABLE test( id INT2[] ); で作成できると思います。
その他の回答 (1)
- rucifer
- ベストアンサー率46% (6/13)
回答No.1
参考になるとおもいますのでDDLを掲載します。 CREATE TABLE tableA ( id SERIAL NOT NULL, name TEXT, PRIMARY KEY (id) ); CREATE TABLE tableB ( bid SERIAL NOT NULL, aid INT4, PRIMARY KEY (bid) ); ALTER TABLE tableB ADD FOREIGN KEY (aid) REFERENCES tableA (id);
質問者
補足
すいません 説明不足な点がありましたので 補足させていただきます。 CREATE TABLE tableA ( id SERIAL PRIMARY KEY, name TEXT, ); CREATE TABLE tableB ( bid SERIAL PRIMARY KEY, z_id integer[] constraint constname references A(id) ); 問題は、z_idが配列な所だと思っているのですが 解決策は、あるのでしょうか? そもそも この設計に問題があるのかもしれませんが・・・
お礼
何度も すいませんでした。 そうですかぁ 配列をやめて もう一度 設計し直してみることにします。 ありがとうございました。