外鍵約束
外鍵一般是引用另外一張表單的主鍵
外鍵可以重複
外鍵可以為空
主鍵和外鍵不一定名稱一致,一致比較好,可讀性性強
一個表引用n個表的主鍵,那麼就會有n個外鍵
設置外鍵有兩種方式,一個是在建表的時候就直接設置好外鍵,還有一個就是表已經建立好的情況下,通過alter添加外鍵,兩個方法均可以實現。
方式一:在建表的同時建立外鍵
這樣就將emp表的deptno設置外鍵,其中fk_emp_dept是外鍵的名稱
方式二:先建表,然後再添加外鍵
兩種方式均添加了外鍵,上面兩個都添加了外鍵名稱,這個作用是方便刪除外鍵的
一旦建立外鍵,要注意,主表中主鍵沒有的,從表不能添加,還有從表中使用的主表不能刪除,要想刪除,要先把從表中使用某個主鍵的刪除,然後再刪除主表中的數據
CREATE TABLE dept(
deptno INT PRIMARY KEY AUTO_INCREMENT,
demame VARCHAR(50)
);
CREATE TABLE emp(
empno INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR(50),
deptno INT,
CONSTRAINT fk_emp_dept FOREIGN KEY(deptno) REFERENCES dept(deptno)
);
CREATE TABLE emp(
empno INT PRIMARY KEY AUTO_INCREMENT,
ename VARCHAR(50),
deptno INT
);
ALTER TABLE emp ADD CONSTRAINT fk_emp_dept FOREIGN KEY(deptno) REFERENCES dept(deptno);
閱讀更多 幻風的編程日記 的文章