SQL語法

新增user table

1
2
3
4
5
CREATE TABLE user (
user_id INT AUTO_INCREMENT PRIMARY KEY, //主鍵,自動新增
username VARCHAR(20) NOT NULL // 帳號
password VARCHAR(255) NOT NULL // 密碼
);

新增role table

1
2
3
4
CREATE TABLE role (
role_id INT AUTO_INCREMENT PRIMARY KEY, // 主鍵,自動新增
role VARCHAR(30) NOT NULL UNIQUE // 角色名稱
);

新增user_role table (中介表)

1
2
3
4
5
6
7
8
CREATE TABLE user_role (
users_roles_id INT AUTO_INCREMENT PRIMARY KEY
user_id INT NOT NULL ,
role_id INT NOT NULL,
UNIQUE (user_id, role_id), // 避免重複
FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE CASCADE, // 外鍵
FOREIGN KEY (role_id) REFERENCES roles(role_id) ON DELETE CASCADE // 外鍵
);