回顧數(shù)據(jù)庫的主鍵
主鍵一般與auto_increment一起使用:
mysql> alter table t1 add id int primary key auto_increment first;
外鍵:foreign key
插入記錄時施掏,字段值在另一個表字段值范圍內(nèi)選擇
使用規(guī)則:表儲存引擎必須是innodb蝴蜓,字段類型要一直要一致,被參照字段必須要是索引類型的一種(parimary key)
外鍵的標(biāo)志是mul,限制字段賦值
創(chuàng)建外鍵的命令:
create table 表名(
字段名锐帜,foreign key(字段名) references 表名(字段名) //指定外鍵
on update cascade //同步更新
on delete cascade //同步刪除
)engine=innodb; //指定儲存引擎
mysql> create table t1 yg(yg_id int primary key auto_increment,yg_name char(10))enegine=innodb;
mysql> insert into t1.yg(yg_name) values("tom"),("haha"),("bob");
mysql> create table gz(gz_id int,gz float(7,2),foreign key(gz_id) references yg(yg_id) on update cascade on delete cascade)engine=innodb;
mysql> show create table gz\G;
mysql> insert into gz values(1,12000),(2,13000),(3,14000);
_____________________________________________________________________
ps:delete 是刪除表記錄被济,drop刪除的是表結(jié)構(gòu)
_____________________________________________________________________
刪除外鍵
mysql> show create talbe gz\G;
alter table gz drop foreign key gz_ibfk_1;