phpmyadmin显示错误#1064 alter table

时间:2014-09-15 03:26:21

标签: mysql phpmyadmin

ALTER TABLE Role ADD CONSTRAINT fk_role FOREIGN KEY (user_position_idposition) REFERENCES position(idposition)

表位置看起来像:

CREATE TABLE IF NOT NOT EXISTS position(   idposition int(11)NOT NULL,   nmposition varchar(45)DEFAULT NULL,   organization_idorganization int(11)NOT NULL,   levelposition int(11)DEFAULT NULL )ENGINE = InnoDB DEFAULT CHARSET = latin1;

和角色看起来像:

CREATE TABLE IF NOT NOT EXISTS Role(   idRole int(11)NOT NULL,   namerole varchar(45)DEFAULT NULL,   user_position_idposition int(11)NOT NULL,   user_employee_nik int(11)NOT NULL )ENGINE = InnoDB DEFAULT CHARSET = latin1;

当我尝试这样做时,它不会按预期结果,任何人都可以告诉我我做错了什么?

提前致谢。

2 个答案:

答案 0 :(得分:0)

我认为您的Query必须像这样

ALTER TABLE `Role`
ADD FOREIGN KEY (user_position_idposition) REFERENCES `position` (`idposition`)
ON UPDATE CASCADE
ON DELETE CASCADE

注意:idposition必须为unique,且应为primary key

答案 1 :(得分:0)

外键总是引用主键或唯一...所以在位置表中进行更改并使n#34; idposition n#34;字段作为唯一或主键