0

現在のプロジェクトでは、非常に単純な 1 対 1 のメッセージング サービスを作成しています。私は2つのテーブルを持っていusersますmessages. テーブルの現在の構造messagesは次のようになります。

id  | from | to    | message    | sent     | received
int | int  | int   | string     | datetime | datetime

fromおよびtoフィールドは両方とも、users主キー (id)に対する外部キーです。それはうまくいくようですが、両方にカスケード削除を使用させることはできません。次のエラーが表示されます。

Introducing FOREIGN KEY constraint 'FK_messages_users_to' on table
'messages' may cause cycles or multiple cascade paths. Specify ON 
DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints.
Could not create constraint. See previous errors.

これはできますか?うまくいかない理由がわかりません。ユーザーが削除された場合、会話全体を削除したいので、fromまたはtoフィールドにユーザー ID を持つすべての行を削除します。

4

0 に答える 0