当前位置:七道奇文章资讯数据防范MySQL防范
日期:2011-01-25 22:43:00  来源:本站整理

理清mysql外链的含义和号令[MySQL防范]

赞助商链接



  本文“理清mysql外链的含义和号令[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

普通说到外键,只会提到“外键的目的是肯定资料的参考完好性(referential integrity).”,但是外键具体包含哪些行动和含义呢?

1、设置外链:

(1)、通过create table成立外键:

看2行代码,是建表中的号令:

create table city(
......
key idx_fk_country_id (country_id),
constraint fk_city_country Foreign Key(country_id) Reference
s country(country_id) on DELETE restrict ON update cascade ON Delete cascade
)...

注:ON update cascade ON Delete cascade级联更新和级联删除.

普通在设置外链时,城市先设置外链字段的索引,如上:key idx_fk_country_id (country_id),但这不是非必须的,上面代码中:

key idx_fk_country_id (country_id),
constraint fk_city_country

这些是可以省去的,直接从FOREIGN KEY开始.当然,假如要给外链命名,则constraint 是必必要的,

假如没有key idx_fk_country_id (country_id),这行时,在设置外链后,mysql会自动加上key索引(即尺度index索引).可以在建完表后用show create table city;来查看.

(2)、通过alter table成立外键:——注意号令中不是用 modify.而是add

ALTER TABLE city ADD INDEX idx_city(countryid);

ALTER TABLE city ADD CONSTRAINT fk_city_country FOREIGN KEY (countryid) REFERENCES country(country_id) ON DELETE CASCADE;

2、删除外键:

ALTER TABLE tbname DROP FOREIGN KEY fk_fkname;

但是假如定义时没有指定CONSTRAINT fk_fkname(即外键标记)时该怎么删除呢?别急,没有指按时,MySQL会自己成立一个,可以通过以下号令查看:SHOW CREATE TABLE tbname;然后再履行上面的号令.

3、外链的具体行动:

注意,on DELETE restrict和on DELETE cascade不能同时定义

默许行动1:

当增添子表中外键值时,假如父表主键不存在该值时,则禁止插入.

默许行动2:

当主表删除某记录时,假如子表有对应当录的内容时,禁止删除

因此,上面的可以on DELETE restrict略去.

非默许行动——级联更新:

当父表更新主键时,假如子表有对应记录,则自动更新子表,这一行动用ON update cascade来实现.

非默许行动——级联删除:

当父表更新主键时,假如子表有对应记录,则自动更新子表,这一行动用ON Delete cascade来实现.

4、外键的别的参数:

a、set null : 表示父表在更新或删除时,子表对应的字段被set null.

b、no action : 和restrict相同,限制在子表有关联记录的情形下父表不能更新.

5、暂时关闭外键查抄:

常用于:

A、导入多个表数据时,需求忽视之前表的导入次序,

B、履行LOAD DATA和ALTER TABLE操作时.

号令:

set foreign_key_checks=0

完成之后,重新开启外键查抄用set foreign_key_checks=1;来恢复

  以上是“理清mysql外链的含义和号令[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 理清mysql外链的含义和号令
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .