私はMariaDBを使用しており、今ではデータベーステーブルに外部キーを追加します。私はset default
を私のon delete制約として使用しようとすると問題を抱えています。私はこれをやっているとき、しかし削除時に「デフォルトに設定」された外部キーを追加できません
`alter table `pages` add constraint pages_user_id_foreign foreign key (`user_id`) references `users` (`id`) on delete set default`
(pages
テーブルでuser_id
のデフォルトは1です)、私はエラー
SQLSTATE[HY000]: General error: 1005 Can't create table 'project.#sql-add_38' (errno: 150)
私が最後に見て取得しています外部キーエラー、私はテーブルproject
の外部キー制約に次のような出力に
160322 12時40分56秒エラーを取得しています。
pages
: 変更テーブルproject
。外部キー制約のあるpages
が失敗しました。 '外部キー(user_id
)のパーズエラーは、削除セットのデフォルトで'id
'のusers
(削除セットのデフォルトに近い)を参照しています。私はalter table `pages` add constraint pages_provider_id_foreign foreign key (`provider_id`) references `providers` (`id`) on delete cascade
どういうわけか削除条件に私のために
set null
を使用する場合
私はon delete set default
せずにそれを行うと、それは、同じ
`alter table `pages` add constraint pages_user_id_foreign foreign key (`user_id`) references `users` (`id`)`
が行く何の問題もなく動作しますが、唯一set default
doesnの」エラーメッセージで十分な情報が得られません