`
工程斯-Arthas
  • 浏览: 13584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Navicat中设置外键关联

阅读更多
要在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。

http://blog.sina.com.cn/s/blog_5351a3690100amub.html
分享到:
评论

相关推荐

    navicat数据库连接工具

    Navicat Premium 是一套多连接数据库开发工具,让你在单一应用程序中同时连接多达七种数据库:MySQL、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL,可一次快速方便地访问所有数据库

    Navicat 15用户中文指南.pdf

    整理翻译官网英文Navicat 15用户指南,Navicat 15 具备多项改进和新功能,能满足你对数据库开发的需求。过百种增强的功能和耳目一新的界面,让你以崭新的方式创建、管理和维护数据库,新的数据可视化工具使你可以将...

    navicat快捷键

    使用navicat数据库管理工具的快捷键

    navicat premium 中文包 用于汉化 navicat premium 12 通用

    navicat premium 中文包 用于汉化 navicat premium 12 通用

    MySQL | Navicat | MySQL表名大小写问题 | Navicat自动生成ER图的关联

    其中,表B的 aid 是外键,关联表A的aid主键,如下设置外键: 如何设置外键的操作链接:https://blog.csdn.net/qq_43604667/article/details/104183134 理想中生成的ER图应为(也就是那条红线,表示表A和表B直接的...

    Navicat Premium 12.0.16 中文包

    Navicat Premium 12.0.16 中文包,可用,但是显示未注册的,请注意这点

    MySQL数据库:表的创建和管理Navicat.pptx

    数据库和表的创建和管理 ...Navicat中编写SQL语句创建数据表 Navicat中编写SQL语句修改数据表 Navicat中编写SQL语句删除数据表 表的创建和管理-图形化 navicat图形化创建和管理表 navicat编写sql语句创建和管理表 小结

    Navicat 8.2.12汉化版

    Navicat 8.2.12 汉化版 mysql管理工具 汉化版

    Navicat 15 中文用户指南.pdf

    Navicat 15 中文用户指南,Navicat 15 具备多项改进和新功能,能满足你对数据库开发的需求。过百种增强的功能和耳目一新的界面,让你以崭新的方式创建、管理和维护数据库,新的数据可视化工具使你可以将数据转换为...

    [数据库] Navicat for Oracle设置唯一性和递增序列实验1

    1.通过点击"其他=》序列"可以操作序列: 2.点击进去后可以设计序列、新建序列、删除序列 3.同样可以通过代码增加序列,对应上面的表T_USER_INFO用户

    navicat 16 premium 中文语言包

    解压后目录 zh-Hans.lproj 放到Navicat安装目录下的 Resources目录下就可以,这个是我在macos下验证可以使用的,至于win系统能不能用有待验证

    navicat中文32位

    navicat中文32位,Navicat是一套快速、可靠并价格相当便宜的数据库管理工具,专为简化数据库的管理及降低系统管理成本而设。它的设计符合数据库管理

    Navicat Premium操作手册.7z

    入门9系统需求10注册10安装10维护或升级11最终用户许可协议12连接21常规设置22高级设置24SSL 设置28SSH 设置29HTTP 设置30服务器对象31MySQL 对象31MySQL 表31MySQL 表栏位31MySQL 表索引33MySQL 表外键34MySQL 表...

    Python-Django框架开发CMS 使用本地mysql开发,可以直接运行,

    3.文章(文章编号,文章标题,文章内容,文章作者[外键关联用户编号],发表时间,栏目编号[外键关联栏目编号]) IDE:PyCharm 2021.1.2 (Community Edition) Memory: 1774M Cores: 16 Python 3.7.6 Django 2.2.5 ...

    Navicat for MySql 导入EXCEL中文乱码问题解决

    解决Navicat for MySql 导入EXCEL中文乱码问题解决的有效方法

    Navicat 8.0.24 中文简体版

    用户可完全控制 MySQL 数据库和显示不同的管理资料,包括一个多功能的图形化管理用户和访问权限的管理工具,方便将数据从一个数据库移转到另一个数据库中(Local to Remote、Remote to Remote、Remote to Local),...

    navicat premium 12 中文语言包

    mac下亲测可用,把这个包,显示包内容,点点点,放入Resouce里面,解压缩,启动软件,即显示中文

    NavicatforMySQL中文绿色免安装版

    NavicatforMySQL中文绿色免安装版,只需要解压就可以使用了,里面有自带的KEY值,填写进去注册了就可以了。

    Navicat Premium(数据管理库) v12.1.17(x64) 绿色中文注册版

    4、把生成的公钥复制到注册机中,算出私钥,复制到Navicat中,完成注册。 注意: 1、注册时建议断网,或在HOSTS文件中添加:127.0.0.1 activate.navicat.com 2、如果出现生成私钥失败的提示,请到官网下载12.1.17的...

    navicat文档.zip

    navicat中文文档 navicat中文文档 navicat中文文档 navicat中文文档 navicat中文文档

Global site tag (gtag.js) - Google Analytics