0

従業員がEMPテーブルから削除された場合、関連するクライアントがCLIENTSテーブルから自動的に削除されるように、データベースでCLIENTSテーブルを構成しようとしています。

これは私がこれまでに試したことです。

ALTER TABLE clients
MODIFY empno REFERENCES emp(empno) ON DELETE CASCADE

残念ながら、これはほぼ「MODIFY」を返します。実行しようとするたびに構文エラーが発生します。何がうまくいかないのか分かりますか?

前もって感謝します。

4

1 に答える 1

3

これを使って:

ALTER TABLE Clients
  ADD CONSTRAINT `Client_1`
    FOREIGN KEY empno REFERENCES emp(empno) ON DELETE CASCADE;

UPD:

この投稿によると、SQLiteでそれを行う方法はありません。したがって、私の提案はこれです:

  • 一時テーブルを作成します。
  • そこにすべての情報をコピーします。
  • 元のテーブルを削除し、外部キーを使用して作成します。
  • 一時テーブルからすべての情報をコピーし、一時テーブルを削除します。

もちろん、現在Clientsテーブルが空の場合は、それを削除して再作成するだけです。

于 2012-06-18T12:27:19.287 に答える