使用navicat创建MySQL外键关联
来源:互联网 发布:mac安装apache php 编辑:程序博客网 时间:2024/05/22 12:49
备注:本文复制与新浪博客。大家可以参考一下~~在此,感谢原文作者为大家解决问题~~
要在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创建MySQL外键关联
- 使用NaviCat for mysql创建外键的要求
- Navicat for Mysql外键创建失败
- navicat中的mysql创建外键
- MySQL:使用cmd或者navicat创建外键失败情形以及原因分析
- 使用Navicat for MySQL创建存储过程
- 使用Navicat for MySQL创建存储过程
- 使用Navicat创建MySql数据库定时事件
- navicat创建MySQL函数
- 使用Navicat for mysql添加外键约束
- 使用MySQL图形化工具Navicat创建表
- 使用navicat在本地创建远程服务器mysql连接
- navicat创建mysql-存储过程
- mysql创建视图(navicat)
- navicat for mysql 创建触发器
- MySQL Navicat Premium创建数据表
- MySQL创建外键关联错误 - errno:150
- [Navicat for MySQL系列]Navicat如何使用
- 一个工程中如何包含多个web.config?
- nginx fpm性能调优
- 分享知识,收获成功
- 大津法otsu的自动阈值分割源代码
- 最近项目中应该记住的一些经验
- 使用navicat创建MySQL外键关联
- 音视频普及知识
- 总账交流
- flex中的buffer
- myeclipse gen——MyEclipse密钥破解
- php对csv文件的读取,写入,输出下载操作
- 云计算:程序员重回个人英雄时代
- 这里有喜欢猜谜的吗
- sqlserver存储过程的参数传递注意事项