2014-03-24 32 views
0

对于外键,我是一个小菜鸟,所以请给我指出任何可能有用的好/描述性学习资源。假设我正在尝试构建一个基本的用户/角色系统。我有两个表:我应该如何构建我的表和外键?

user_role : id, role 
user: id, role_id, name 

我应该在两个表中使用何种类型的外键约束?我希望它能够让分配给一个用户的角色在用户移动到另一个角色之前不能被删除。

我使用phpMyadmin,所以如果你可以给它指示,那将是最感激。

+0

在您提出的模式中,用户在任何给定时间都可以属于一个且只有一个角色。那是你的意图吗?此外,角色具有层级性(例如“员工”,“经理”,“执行”)相当普遍。 –

+0

是的,一个用户只能有一个角色。在我的系统中角色应该是分开的,但出于好奇,我将如何实现这样的层次模型?只需将它们与role_parent链接? – Aoi

回答

0

一种把一个外键约束你的用户表将如下的简单查询:

ALTER TABLE `user` 
ADD CONSTRAINT FK_User_Role 
FOREIGN KEY (`role_id`) 
REFERENCES `user_role` (`id`) 

这将完成你设置什么做出来的。

相关问题