舉例
- 建立 Worker 表
CREATE TABLE Worker (
wID INT PRIMARY KEY, -- 工作人員編號
name VARCHAR(50) NOT NULL, -- 工作人員姓名
deptID INT NOT NULL, -- 所屬部門代號
CONSTRAINT fk_deptID FOREIGN KEY (deptID) REFERENCES Department(dID) -- 外鍵連接 Department 表的 dID
);
限制名稱功能
有助於查詢及修改限制,如沒加限制名稱系統會自動產生預設限制名稱。
如外部限制出錯,系統會回傳限制名稱有助除錯。
查詢限制舉例
SELECT
CONSTRAINT_NAME,
TABLE_NAME,
COLUMN_NAME,
REFERENCED_TABLE_NAME,
REFERENCED_COLUMN_NAME
FROM
INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE
CONSTRAINT_NAME = 'fk_deptID';
刪除外部限制舉例
ALTER TABLE Worker
DROP FOREIGN KEY fk_deptID;
修改外部限制舉例
ALTER TABLE Worker
DROP FOREIGN KEY fk_deptID;
ALTER TABLE Worker
ADD CONSTRAINT fk_deptID FOREIGN KEY (deptID) REFERENCES Department(dID) ON DELETE CASCADE;
沒有留言:
張貼留言
寫下幸福點子吧!