[pgsql-jp: 32566] Re: 外部キーについて

Kazuhiro Hiratsuka hira @ js-bros.co.jp
2004年 3月 25日 (木) 12:21:14 JST


馬場様
お世話になります。平塚です。

テーブル作成が正常に出来ました。
大変助かりました。
有難うございます。

----- Original Message ----- 
From: "馬場 ( 川上) 泰明" <kawakami @ mxe.nes.nec.co.jp>
To: <pgsql-jp @ ml.postgresql.jp>
Sent: Wednesday, March 24, 2004 10:47 PM
Subject: [pgsql-jp: 32564] Re: 外部キーについて


> to:平塚様
>
> お世話になります。馬場です。
>
> >今回の仕様が、親テーブルのUNIQUE制約としてMENU_ID、TITLE_ID、CHARA_DATAを
> >1つとして考えております。
>
> 了解です。ちょうど同じことを考えておりました。
>
> >よって各々にUNIQUE制約を持たせることが今回の仕様上できません。
> >PRIMARY(MENU_ID、TITLE_ID、CHARA_DATA)または
> >UNIQUE INDEX(MENU_ID、TITLE_ID、CHARA_DATA)で宣言した場合は、
> >子から外部キーをつけることが出来ないということでしょうか。
>
> create table 自体は、できるようです。
> 以下ご参考までに。
> # ごめんなさい、実際データを入れて試したりはしてません。。。
>
> [親表]
> create table test_ms(
>  menu_id smallint not null,
>  title_id smallint not null,
>  chara_data char(10) not null,
>  refix_date date not null,
>  constraint ms_fk primary key (menu_id,title_id,chara_data));
>
> # primary key をつける場合、not null が必須のようです。
>
> [子表]
> create table test_sl(
>  menu_id smallint not null,
>  title_id smallint not null,
>  chara_data char(10) not null,
>  refix_date date not null,
>  constraint sl_fk FOREIGN KEY(menu_id,title_id,chara_data)
>  REFERENCES test_ms (menu_id,title_id,chara_data));
>
> >無知の上、いろいろとご質問をさせていただきすみません。
>
> とんでもありません!
> 平塚様のおかげで、PostgreSQL では primary key をつける際、
> not null制約が必須であることがわかりました。ありがとうございます。
>
> 以上ご参考になれば幸いです。
>
> /ばばやすあき
>
> 2004/03/24 22:25:22 +0900に"Kazuhiro Hiratsuka" <hira @ js-bros.co.jp>さんに
頂いた
> 「[pgsql-jp: 32563] Re: 外部キーについて」への返事です。
> >お世話になっております、平塚です。
> >
> >馬場様、試してみましたところ上手く出来ましたが、
> >今回の仕様が、親テーブルのUNIQUE制約としてMENU_ID、TITLE_ID、CHARA_DATAを
> >1つとして考えております。
> >よって各々にUNIQUE制約を持たせることが今回の仕様上できません。
> >PRIMARY(MENU_ID、TITLE_ID、CHARA_DATA)または
> >UNIQUE INDEX(MENU_ID、TITLE_ID、CHARA_DATA)で宣言した場合は、
> >子から外部キーをつけることが出来ないということでしょうか。
> >
> >無知の上、いろいろとご質問をさせていただきすみません。
> >
>





pgsql-jp メーリングリストの案内