彩票走势图

使用navicat创建MySQL外键关联

转帖|其它|编辑:郝浩|2012-10-12 11:55:33.000|阅读 3646 次

概述:使用Navicat在MySQL数据库平台建立外键关联具体办法

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

要在Mysql数据库平台建立外键关联,必须满足以下几个条件:

 1. 两个表必须为 InnoDB 类型。

 2. 外键和被引用键必须是索引中的第一列,InnoDB 不会自动为外键和被引用键建立索引,必须明确创建

     它们。

 3. 外键与对应的被引用键在 InnoDB 内必须 有相似的内部数据类型,以便他们不需要一个类型转换就可

     以进行比较。 整型字段的长度与有符号类型必须一致。 字符型则不需要一致。如果指定了一个SET

   NULL 动作,那你必须要确定 子表中的对应字段没有定义为 NOT NULL

示例:

CREATE TABLE parent(id INT NOT NULL,
                     PRIMARY KEY (id)) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT,
                    INDEX par_ind (parent_id),
                    FOREIGN KEY (parent_id) REFERENCES parent(id)
                    ON DELETE CASCADE
) TYPE=INNODB;

可以通过下面的方式在在后来添加外键约束:

ALTER TABLE yourtablename
          ADD [CONSTRAINT symbol] FOREIGN KEY [id] (...)
          REFERENCES table_name (index_col_name, ...)
                      [ON DELETE {CASCADE | SET NULL | NO ACTION
                                             | RESTRICT}]
                      [ON UPDATE {CASCADE | SET NULL | NO ACTION
                                             | RESTRICT}]
还可以使用 SHOW CREATE TABLE 'TABLENAME'来查看创建语句(如果使用了工具)

navicat中使用步骤:

定位于外键所在表->设计表,首先建立索引

 

 栏位名中填入外键,必须是第一列,INNODB所规定

接着创建外键

 cascade表示级联更新删除

保存就行了

如果有遇can't create....erron(150), 检查一下数值型属性有没有定义为unsigned。

点击下载Navicat for MySQL


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:CSDN

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP