У меня есть две таблицы, которые я создал, и я добавляю ограничение внешнего ключа после факта.Внешний ключ не работает: Код ошибки 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);
И я получаю ту же ошибку, но не могу понять это. Я искал все связанные с этим темы.
Где вы получите сообщение об ошибке, после первого CREATE TABLE или второй? –
Обратите внимание, что ваш 'ALTER TABLE' кажется обратным. Поскольку 'config_id' является значением auto_increment,' user' должен иметь FK для personal_config, а не наоборот. –
После второго. Таблицы создаются отлично, это просто таблица изменений, которая не работает. – MikeG