2014-03-24 31 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`) 

這將完成你設置什麼做出來的。

相關問題