首先,對於mysql資料庫,只有儲存引擎為innodb的表外來鍵才有效。其他儲存引擎會忽略外來鍵約束。
1.建立兩張表ss_vcc,ss_accesscode
(1)create table ss_vcc
( vccid varchar(20) not null,
displaynumber varchar(32),
vccname varchar(40),
primary key (vccid)
) type=innodb;
create unique index ix_ss_vcc on ss_vcc (vccid);
(2)create table ss_accesscode
( accesscode varchar(32) not null,
vccid varchar(20) not null,
routestrategy integer default 1,
telephonenumber varchar(32),
serviceid varchar(32),
servicenodearg integer default 0,
primary key (accesscode)
) type=innodb;
create unique index ix_ss_accesscode on ss_accesscode (accesscode);
2.新增外來鍵
(1)alter table ss_accesscode add foreign key (vccid) references ss_vcc(vccid) on delete cascade;
用命令:show create table ss_accesscode 檢視
可以看出系統自動給乙個外來鍵約束名稱「ss_accesscode_ibfk_1」
(2)alter table ss_accesscode add constraint fk_ss_asc_vcc foreign key (vccid) references ss_vcc(vccid) on delete cascade;
用命令:show create table ss_accesscode 檢視
外來鍵約束名為:fk_ss_asc_vcc
注:新增外來鍵約束時若沒有指定外來鍵約束的名稱,則系統會自動新增外來鍵約束名:表名_ibfk_n(表示第n個外來鍵約束)
3.刪除外來鍵
根據外來鍵約束的名字來刪除外來鍵
alter table ss_accesscode drop foreign key 外來鍵約束名稱;
mysql新增外來鍵
為已經新增好的資料表新增外來鍵 語法 alter table 表名 add constraint fk id foreign key 你的外來鍵欄位名 references 外表表名 對應的表的主鍵欄位名 例 alter table tb active add constraint fk id fo...
mysql新增外來鍵
為已經新增好的資料表新增外來鍵 語法 alter table 表名 add constraint fk id foreign key 你的外來鍵欄位名 references 外表表名 對應的表的主鍵欄位名 例 alter table tb active add constraint fk id fo...
mysql新增外來鍵
為已經新增好的資料表新增外來鍵 語法 alter table 表名 add constraint fk id foreign key 你的外來鍵欄位名 references 外表表名 對應的表的主鍵欄位名 例 alter table tb active add constraint fk id fo...