読者です 読者をやめる 読者になる 読者になる

たぷつきません

おなかがでてきた。もうたぷついてるやん。

UPDATE CASCADEの罠

親テーブルの 2項目をUNIQUE KEYにして、参照テーブルはこのセットが更新されたら自身の2項目も更新するようUPDATE CASCADEにしたんだけど、親が2項目のどちらかをヌルにしたら、その後更新しても伝搬されないのね!!!ビビった。

僕の言語能力の限界で、なに言ってるのか分からないかもしれないから図解すると…

Parent pid like
1 cat
Child ... pidRef likeRef
... 1 cat

って状態から、likeにヌルをセットすると、

Parent pid like
1 NULL
Child ... pidRef likeRef
... 1 NULL

…とちゃんと反映されるんだけど、一度ヌルになると、親の項目を再セットしても、

Parent pid like
1 dog
Child ... pidRef likeRef
... 1 NULL

…と、子テーブルの方はヌルのまま!!ってことです。
ヌルにセットされるケースがある場合はダメってことなのかー。いい方法ないかな。
素直にJOINかな…。