이 테이블을 만들려고했지만 FK에서 아무 것도 시도하지 않았습니다.MySQL 오류 # 1005 (코드 150)
CREATE TABLE `tb_AutSituacao` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Nome` varchar(50) CHARACTER SET latin1 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8
CREATE TABLE `tb_AutHistorico` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`Situacao` int(11) NOT NULL,
`Data` date NOT NULL,
`Agente` int(11) NOT NULL,
`Proposta` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `AutHistorico_Situacao` (`Situacao`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
ALTER TABLE `tb_AutHistorico` ADD FOREIGN KEY (`Situacao`) REFERENCES `sicor`.`tb_AutSituacao` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT;
항상 "# 1005 - 테이블 'tablename'(errno : 150)을 만들 수 없습니다."가 표시됩니다. 도와 주셔서 감사합니다.
'sicor'는 유효한 스키마 이름입니까? 당신은 :'sicor' 접두사를 제거하고 "REFERENCES' tb_AutSituacao ('id')"로 바꾼다면 아마도'sicor'.'tb_AutSituacao' ('id') " – JMC
예, 그렇습니다. 이것없이 시도하십시오. UPDATE : 스키마 이름이 있거나없는 동일한 오류. –
세미콜론을 추가하고'sicor.'를 제거하면, [it works] (http://sqlfiddle.com/#!2/ce926/1). 관련성이 있는지는 모르겠지만 사용중인 MySQL 버전은 무엇입니까? – Wiseguy