두 개의 테이블을 만들고 사실 외래 키 제약 조건을 추가하고 있습니다. 외래 키가 작동하지 않습니다. 오류 코드 1005, SQL 상태 HY000 : 테이블을 만들 수 없습니다.
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 `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;
및
을 그리고 난 같은 오류가 계속하지만 그것을 알아낼 수 없습니다 :두 테이블은 다음과 같은 정의된다. 관련 스레드를 모두 검색했습니다.
이 경우 오류를받을 수 있나요 실행할 수 있습니다 다음 기본 키입니다 설정하면? –
'ALTER TABLE'이 역순으로 보임에 유의하십시오. 'config_id'는 auto_increment 값이기 때문에,'user'는 FK에서 personal_config가되어야합니다. –
두 번째 이후. 테이블이 잘 작성되고, 변경되지 않은 테이블 만 작동합니다. – MikeG