foreign key
2018-08-27 11:49 冻奶香甜玉米片 阅读(370) 评论(0) 收藏 举报foreign key:建立表之间的关系
#1、建立表关系:
	#先建被关联的表,并且保证被关联的字段唯一
	create table dep(
		id int primary key,
		name char(16),
		comment char(50)
	);
	#再建立关联的表
	create table emp(
		id int primary key,
		name char(10),
		sex enum('male','female'),
		dep_id int,
		foreign key(dep_id) references dep(id) 
		on delete cascade  (on *** cascade是表示在被关联表进行***操作时,主表会同步修改,更新或者删除)
		on update cascade
	);
#2、插入数据
#先往被关联表插入记录
insert into dep values
(1,"IT","技术能力有限部门"),
(2,"销售","销售能力不足部门"),
(3,"财务","花钱特别多部门");
#再往关联表插入记录
insert into emp values
(1,'egon','male',1);
insert into emp values
(2,'alex','male',1),
(3,'wupeiqi','female',2),
(4,'yuanhao','male',3),
(5,'jinximn','male',2);
delete from emp where dep_id=1;
delete from dep where id=1;
delete from dep where id=3;
foreign key只能先建立被关联表再建立主表
这种强行建立的关系会在修改主表或者被关联表的时候变得很麻烦(以后扩展)
因为你建立表的时候就要建立表的结构,表的关联关系做好了,
所以egon建议在真正做项目的时候只需要在逻辑层面建立关系
再用应该程序去实现就可以了
最好不要修改数据库!!!否则要改的更多
写项目时最好不要建立硬性关系
(虽然你可以使用on *** cascade使操作便利,但是无法改变要先向被关联表插记录再向关联表插记录,类似更多)
                    
                
                
            
        
浙公网安备 33010602011771号