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;
当我尝试这样做时,它不会按预期结果,任何人都可以告诉我我做错了什么?
提前致谢。
答案 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;字段作为唯一或主键