1. 程式人生 > >MQSQL增加外來鍵的兩種

MQSQL增加外來鍵的兩種

MYSQL增加外來鍵的兩種方式

*根據需求建一下表 i: emp表 在這裡插入圖片描述 ii:dept表 在這裡插入圖片描述 *1.增加外來鍵(建立表的時候) 程式碼實現(工具:Navicat 12 for MySQL) CREATE TABLE dept ( deptno int primary key, dname varchar(20) not null, loc varchar(20) not null ); CREATE TABLE emp ( empno int primary key, ename varchar(20) not null, job varchar(20) not null, mgr int default null, hiredate date, sal decimal(20,2), comm decimal(20,2), deptno int , foreign key (deptno)REFERENCES dept(deptno) ); 在這裡插入圖片描述

給一張表新增外來鍵,即給子表的外來鍵新增主鍵的規則: 在子表宣告一個欄位deptno int,用於作為子表的外來鍵,foreign key(子表的外來鍵欄位) references 父表的表名(父表的主鍵的欄位名); *2.增加外來鍵(建立表以後) 程式碼實現(工具:Navicat 12 for MySQL) CREATE TABLE emp ( empno int primary key, ename varchar(20) not null, job varchar(20) not null, mgr int default null, hiredate date, sal decimal(20,2), comm decimal(20,2), deptno int );

alter table emp add CONSTRAINT FK_DNO foreign key(deptno) REFERENCES dept(deptno); 在這裡插入圖片描述 當建立好資料表時新增外來鍵約束: alter table 子表的資料表名 add foreign key(子表的外來鍵名稱) references 父表的資料表名稱(父表的主鍵名稱);

注意:第一種方式需要建父表和子表,在一張表中實現不了增加外來鍵!!!