用SQL 建表格加入限制名稱

 舉例

- 建立 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;


沒有留言:

張貼留言

寫下幸福點子吧!