0
create table employee(emp_id int primary key ,emp_name char(9),
spouse_id int,foreign key(spouse_id)references employee (emp_id)
on delete cascade set null on update cascade);

よう皆

データを削除すると、関連データに影響を与えます。しかし、更新しようとすると、親データを変更できないというエラーが発生します。解決策を見つけるのを手伝ってください。

4

1 に答える 1

1

カスケードを削除

on delete set null 

しかし、編集に関しては..私の例ではうまく機能します..

多分これはMysqlリファレンスからあなたを助けることができます:

SQL標準からの逸脱:ONUPDATECASCADEまたはONUPDATESET NULLが繰り返されて、カスケード中に以前に更新されたのと同じテーブルが更新される場合、それはRESTRICTのように機能します。これは、自己参照のONUPDATECASCADEまたはONUPDATESETNULL操作を使用できないことを意味します。これは、カスケードされた更新に起因する無限ループを防ぐためです。一方、自己参照のON DELETE SET NULLは、自己参照のONDELETECASCADEと同様に可能です。カスケード操作は、15レベルを超えてネストすることはできません。

于 2010-11-12T17:16:11.587 に答える