首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

mysql外键入门引见

2012-07-04 
mysql外键入门介绍CREATE?TABLE?`dage`?(?2??`id`?int(11)?NOT?NULL?auto_increment,?3??`name`?varchar(3

mysql外键入门介绍
CREATE?TABLE?`dage`?(
?2mysql外键入门引见??`id`?int(11)?NOT?NULL?auto_increment,
?3mysql外键入门引见??`name`?varchar(32)?default?'',
?4mysql外键入门引见??PRIMARY?KEY??(`id`)
?5mysql外键入门引见)?ENGINE=InnoDB?DEFAULT?CHARSET=latin1;
?6mysql外键入门引见
?7mysql外键入门引见CREATE?TABLE?`xiaodi`?(
?8mysql外键入门引见??`id`?int(11)?NOT?NULL?auto_increment,
?9mysql外键入门引见??`dage_id`?int(11)?default?NULL,
10mysql外键入门引见??`name`?varchar(32)?default?'',
11mysql外键入门引见??PRIMARY?KEY??(`id`),
12mysql外键入门引见??KEY?`dage_id`?(`dage_id`),
13mysql外键入门引见??CONSTRAINT?`xiaodi_ibfk_1`?FOREIGN?KEY?(`dage_id`)?REFERENCES?`dage`?(`id`)
14mysql外键入门引见)?ENGINE=InnoDB?DEFAULT?CHARSET=latin1;
插入个大哥:
1mysql外键入门引见mysql>?insert?into?dage(name)?values('铜锣湾');
2mysql外键入门引见Query?OK,?1?row?affected?(0.01?sec)
3mysql外键入门引见mysql>?select?*?from?dage;
4mysql外键入门引见+----+--------+
5mysql外键入门引见|?id?|?name???|
6mysql外键入门引见+----+--------+
7mysql外键入门引见|??1?|?铜锣湾?|
8mysql外键入门引见+----+--------+
9mysql外键入门引见1?row?in?set?(0.00?sec)
插入个小弟:
1mysql外键入门引见mysql>?insert?into?xiaodi(dage_id,name)?values(1,'铜锣湾_小弟A');
2mysql外键入门引见Query?OK,?1?row?affected?(0.02?sec)
3mysql外键入门引见
4mysql外键入门引见mysql>?select?*?from?xiaodi;
5mysql外键入门引见+----+---------+--------------+
6mysql外键入门引见|?id?|?dage_id?|?name?????????|
7mysql外键入门引见+----+---------+--------------+
8mysql外键入门引见|??1?|???????1?|?铜锣湾_小弟A?|
9mysql外键入门引见+----+---------+--------------+
把大哥删除:
1mysql外键入门引见mysql>?delete?from?dage?where?id=1;
2mysql外键入门引见ERROR?1451?(23000):?Cannot?delete?or?update?a?parent?row:?a?foreign?key?constraint?fails?(`bstar/xiaodi`,?CONSTRAINT?`xiaodi_ibfk_1`?FOREIGN?KEY?(`dage_id`)?REFERENCES?`dage`?(`id`))


提示:不行呀,有约束的,大哥下面还有小弟,可不能扔下我们不管呀!

插入一个新的小弟:

1mysql外键入门引见mysql>?insert?into?xiaodi(dage_id,name)?values(2,'旺角_小弟A');??????????????
2mysql外键入门引见ERROR?1452?(23000):?Cannot?add?or?update?a?child?row:?a?foreign?key?constraint?fails?(`bstar/xiaodi`,?CONSTRAINT?`xiaodi_ibfk_1`?FOREIGN?KEY?(`dage_id`)?REFERENCES?`dage`?(`id`))
3mysql外键入门引见


提示:小子,想造反呀!你还没大哥呢!

把外键约束增加事件触发限制:

?1mysql外键入门引见mysql>?show?create?table?xiaodi;
?2mysql外键入门引见mysql外键入门引见mysql外键入门引见
?3mysql外键入门引见??CONSTRAINT?`xiaodi_ibfk_1`?FOREIGN?KEY?(`dage_id`)?REFERENCES?`dage`?(`id`)
?4mysql外键入门引见mysql外键入门引见mysql外键入门引见
?5mysql外键入门引见mysql>?alter?table?xiaodi?drop?foreign?key?xiaodi_ibfk_1;?
?6mysql外键入门引见Query?OK,?1?row?affected?(0.04?sec)
?7mysql外键入门引见Records:?1??Duplicates:?0??Warnings:?
?8mysql外键入门引见mysql>?alter?table?xiaodi?add?foreign?key(dage_id)?references?dage(id)?on?delete?cascade?on?update?cascade;
?9mysql外键入门引见Query?OK,?1?row?affected?(0.04?sec)
10mysql外键入门引见Records:?1??Duplicates:?0??Warnings:?0
再次试着把大哥删了:
1mysql外键入门引见mysql>?delete?from?dage?where?id=1;
2mysql外键入门引见Query?OK,?1?row?affected?(0.01?sec)
3mysql外键入门引见
4mysql外键入门引见mysql>?select?*?from?dage;
5mysql外键入门引见Empty?set?(0.01?sec)
6mysql外键入门引见
7mysql外键入门引见mysql>?select?*?from?xiaodi;
8mysql外键入门引见Empty?set?(0.00?sec)



得,这回对应的小弟也没了,没办法,谁让你跟我on delete cascade了呢!

例子说明的应该蛮清楚了吧,其他功能对应手册自己实践吧!:-)

热点排行