問題ID: 8511

  • フォーラムは新サイトへ移行しました。
  • このフォーラムではゲスト投稿が禁止されています
前の投稿 - 次の投稿 | 親投稿 - 子投稿.3 .4 .5 | 投稿日時 2015-8-12 0:16
lily02585lee  常連   投稿数: 11
FOREIGN KEY制約の説明として正しいものはどれですか(該当するものを全て選択して下さい)。

1.ON DELETE CASCADEオプションを指定すると、親表の行を削除する際に、親表を参照している子表の行にNULL値を設定する
○ 2.ON DELETE CASCADEオプションを指定すると、親表の行を削除する際に、親表を参照している子表の行も自動的に削除する
3.FOREIGN KEY制約を定義すると、依存する行がある場合のみ親表を削除できない
4.ON DELETE SET NULLオプションを指定すると、親表の行を削除する際に、親表を参照している子表の行も自動的に削除する
○ 5.FOREIGN KEY制約を定義すると、依存する行の有無にかかわらず親表を削除できない

回答は2.5
私の回答は2.3
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-8-12 0:22
lily02585lee  常連   投稿数: 11
FOREIGN KEY制約を定義すると、依存する行がある場合のみ親表を削除できない
親表を削除する場合は、参照している表の行を削除してから、親行を削除します。
なんで5にも正しいよく分かりません。
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-8-12 11:32
quensan  長老   投稿数: 119
選択肢5の「親表を削除できない」というのはDROP TABLE文による親表の削除のことなので、正しいですよ。
参考の以下の部分に実行例が載っています。

-----
FOREIGN KEY制約の親表として指定された表は、参照されている行がない場合でも削除できなくなります。親表を削除したい場合は、FOREIGN KEY制約を定義した表を削除してから親表を削除します。
[SQLを表示(参考5)]
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2015-8-18 9:20
lily02585lee  常連   投稿数: 11
quensan さん

 親表を削除のとこですね、親表のデータを削除と勘違いた。
 
 you are kind
 
 解説ありがとうございました!<(_ _*)>

 
 

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.