0
我得到了兩個表格,第一個是一些人的數據,第二個是一些代碼。 我想要做的就是設置FK,使數據庫檢查新人員數據是否包含第二個表中列表中的「代碼」。兩個表都在代碼欄上有PK,但我仍然收到錯誤。SQL外鍵添加問題
ERROR 1215: Cannot add foreign key constraint
SQL Statement:
ALTER TABLE `MYBASE`.`first_table`
ADD CONSTRAINT `fk_new_fkey`
FOREIGN KEY (`code_indentyfication`)
REFERENCES `MYBASE`.`second_table` (`codes`)
ON DELETE NO ACTION
ON UPDATE NO ACTION
ERROR: Error when running failback script. Details follow.
ERROR 1050: Table 'first_table' already exists
SQL Statement:
CREATE TABLE `first_table` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code_indentyfication` varchar(2) COLLATE utf8_polish_ci NOT NULL,
`number_identyfication` varchar(45) COLLATE utf8_polish_ci NOT NULL,
`name` varchar(45) COLLATE utf8_polish_ci DEFAULT NULL,
`surname` varchar(45) COLLATE utf8_polish_ci DEFAULT NULL,
`adress` varchar(45) COLLATE utf8_polish_ci DEFAULT NULL,
PRIMARY KEY (`id`,`code_indentyfication`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci
代碼是varchar(2),我想設置FK而不對列集進行任何更改。 有什麼建議嗎? 我正在使用MySQL服務器,這個代碼是由MySQL Workbench生成的,如果有幫助的話。