私が作成した2つのテーブルがあり、事後に外部キー制約を追加しています。外部キーが機能していません:エラーコード1005、SQLステートHY000:テーブルを作成できません
二つのテーブルは、次のような定義されています。
CREATE TABLE `user` (
`user_id` int(11) NOT NULL auto_increment,
`user_ad_id` varchar(500) default NULL,
`user_name` varchar(100) NOT NULL,
`login_id` varchar(100) default NULL,
`email` varchar(256) NOT NULL,
`personal_config` int(10) NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
と
CREATE TABLE IF NOT EXISTS personal_config (
config_id INT(10) NOT NULL AUTO_INCREMENT,
last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
configuration TEXT(25600) NOT NULL,
PRIMARY KEY (config_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE personal_config ADD CONSTRAINT personal_config_fk_user FOREIGN KEY
(config_id) REFERENCES user(personal_config);
と私は同じエラーを取得しておくが、それを把握することはできません。私はこれに関連するすべてのスレッドを検索しました。
を実行することができますか? –
あなたの 'ALTER TABLE'は後方にあることに注意してください。 'config_id'はauto_incrementの値なので、' user'はFKからpersonal_configになります。 –
秒後。テーブルは正常に作成され、そのテーブルは機能しません。 – MikeG