私はちょうどSQLで始まっています。私は、SQLテーブルへのリレーショナルスキームを含む割り当てを行っています。存在しないテーブルフィールドへのSQL外部キー
私は次のことをどのように表現するかに大きな疑問があります。私は、次のSQLで表現されているテーブル「オリジナル」を持っている を:
create table Original (
idB char(10) not null unique,
tituloM varchar(255) not null,
primary key (idB, tituloM),
foreign key (idB, tituloM) references Musica on delete cascade on update cascade
);
私は今、「ライブ」の表を表現しなければなりません ライブ(idB; tituloM;データ; hora; tituloMO)。idB
とtituloMO
は「オリジナル」の外部キーです。疑いの余地は、「オリジナル」の表に「tituloMO」はありません。どのように私はこれを表すことができますか?現在、私の「オリジナル」の表は、次のようになります。
create table Live (
idB char(10) not null unique,
tituloM varchar(255) not null,
/* date goes here */
/* time goes here */
tituloMO varchar(255) not null,
primary key (idB, tituloM),
foreign key (idB, tituloM) references Musica on delete cascade on update cascade,
foreign key (idB, data, hora) references Concerto on delete cascade on update cascade,
foreign key (idB, tituloMO)
);
にはどうすれば正しくtituloMO
フィールドを表すことができますか?
タブを使用するコードを投稿しないでください - 再フォーマットする本当の痛みをすることができます。また、「あらかじめ感謝」のようなサインオフは必要ではありません(画面の不動産の浪費に加えて) - つまり、回答を選択してアップボーティングが行われます。 –
どのDBMSを使用しますか?あなたの「外部キー」は親テーブルのフィールドを見逃しているように見えます。これは実際にどのDBMSでも許されていますか? –
はい、私は本当に親テーブルのフィールドがありませんでした。ありがとう –