私はデータベースプログラミングをより良くしようとしているので、外来キーを与えることを示唆されてきました。問題は、jobsテーブル内のジョブが削除された場合、それに関連する孤立したメッセージがメッセージテーブルに残っていたことです。だから外来の鍵が私に解決策になるように導入されました。初めての外来キーの経験、どうしたのですか?
しかし、私はこれをやろうとしたときにこれを得ました。そして、それが何を言っているのかわかりません。さらに、仕事から仕事への制約をどのように設定するべきかもわかりませんメッセージ、またはその逆。 :(
がここにエラーがあります:。
#1452 - Cannot add or update a child row: a foreign key constraint fails (`nzua9c8_tasks`.<result 2 when explaining filename '#sql-2929_701930'>, CONSTRAINT `#sql-2929_701930_ibfk_1` FOREIGN KEY (`id`) REFERENCES `jobs` (`id`) ON UPDATE NO ACTION)
また、PHPMyAdminのためのインターフェイスは、私は削除するオプションを持っていなかった私は、タスクを削除すると、メッセージIDが「制限」されることを示唆しました。私は仕事のテーブルのidと一致する「JOB_ID」とのいずれかのメッセージがあまりにも削除することにしたい。提供任意の助け
感謝を。
こんにちは、Eric。応答のおかげで、私はあなたのコメントに基づいて別の何かを試しました、今私はこのエラー、かなり似ています:ALTER TABLE 'messages'外部キーを追加(' job_id')REFERENCES 'nzua9c8_tasks'。'jobs'( ' id' )更新時にCASCADEを削除します。 –
ジョブテーブルにジョブを追加できるようにするには、自動インクリメントIDが与えられます。メッセージがメッセージテーブルに追加されると、自動インクリメントIDも持ちますが、接続されますジョブはjob_idフィールドで指定します。ジョブを削除すると、関連するすべてのメッセージも削除されることを願っています。私は何が欠けていますか?ありがとう。 –