精华内容
下载资源
问答
  • 数据库建立外键的条件
    千次阅读
    2016-03-04 10:32:30

             如果一张主表和从表需要建立关系,那么至少满足的条件有:

             1、从表的字段名后,必须是唯一,即unique,

             2、主表内的值和从表内的值必须有一项以上是一模一样的,

             可以不同的有:

             1、外键关联的字段名可以不同

            

    更多相关内容
  • 数据库设置外键

    千次阅读 2022-03-31 21:18:26
    数据库默认引擎是InnoDB,默认支持外键设置 e.g. 创建表1 create table 表1( 表1.主键 字段类型 primary key, 创建的一些字段。。。。 ) 创建表2 create table 表2( 表2.主键 字段类型 primary key, 创建...

    数据库默认引擎是InnoDB,默认支持外键设置

    e.g. 创建表1

    create table 表1(

    表1.主键 字段类型 primary key,

    创建的一些字段。。。。

    创建表2 create table 表2(

    表2.主键 字段类型 primary key,

    创建表2 的一些字段

    创建关联字段的表3

    create table 表3 (

    表3.主键 字段类型 primary key AUTO_INCREMENT,

    表1.主键 字段类型,

    表2.主键 字段类型,

    grade 字段类型 not null,

    INDEX(表1.主键),FOREIGE KEY(表1.主键)REFERENCES 表1的名字 (表1的主键),

    INDEX(表2.主键),FOREIGE KEY(表2.主键)REFERENCES  表2的名字  (表2的主键),

    展开全文
  •  建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。  指定主键关键字: foreign key(列名)  引用外键关键字: references <外键表名>(外键列名)  事件触发限制: on delete和on update
  • 在MySQL数据库创建外键时,经常会发生一些错误,这是一件很令人头疼的 事。一个典型的错误就是:Can’t create table... 的错误。在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题,...

    在MySQL数据库创建外键时,经常会发生一些错误,这是一件很令人头疼的 事。一个典型的错误就是:Can’t create table... 的错误。在很多实例中,这种错误的发生都是因为mysql一直以来都不能很好的支持的关系的问题, 更不幸的是它也并没有指明到底是哪一个问题会导致上面那种错误,下面我把导致这个可怕的150错误的常见原因列出来了,并且我以可能性的大小作了排序,已 知的原因:

    1.两个字段的类型或者大小不严格匹配,例如,如果一个是INT(10), 那么外键也必须设置成INT(10), 而不是 INT(11) 也不能是TINYINT. 你得使用SHOW命令来查看字段的大小,因为一些查询浏览器有时候把int(10) 和int(11) 都显示为integer。另外,你还必须确定两个字段是否一个为SIGNED,而另一个又是UNSIGNED, 这两字段必须严格地一致匹配,更多关于signed 和unsigned的信息,请参阅:http://www.verysimple.com/blog/?p=57 。

    2.你试图引用的其中一个外键没有建立起索引,或者不是一个primary key , 如果其中一个不是primary key 的,你必须为它创建一个索引。

    3.外键的名字是一个已经存在的一个键值了,这个时候,你应该检查你的数据库以确保外健名字是唯一的,或者你在键名后面加上几个随机的字符以测试是否是这个原因。

    4.其中一个或者两个表是MyISAM引擎的表,若想要使用外键约束,必须是InnoDB引擎,(实际上,如果两个表都是MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键),你可以通过查询浏览器来设置表的引擎类型。

    5.你可能设置了ON DELETE SET NULL, 但是相关的键的字段又设置成了NOTS NULL 值。你可能通过修改cascade 的属性值或者把字段属性设置成allow null来搞定这个bug.

    6.请确定你的Charset 和 Collate 选项在表级和字段级上的一致。

    7.你可能设置为外键设置了一个默认值,如default=0。

    8.在这个关系里面,其中的一个字段是一个混合键值中的一个,它没有自己独立的索引,这时,你必须为它创建一个独立的索引。

    9.ALTER 声明中有语法错误。

    以上就是MySQL创建外键失败时可能原因的总结,如果您想了解更多关于MySQL数据库的内容,可以看一下这里的文章:http://database.51cto.com/mysql/,相信一定可以带给您收获的!

    展开全文
  • mysql数据库创建外键

    千次阅读 2019-01-09 17:02:04
    创建外键注意的地方 必须是innodb引擎 注意外键字段类型和另一张表主键字段类型一致否则报“cannot add foreign key constraint“ 创建 create table class(cid int not null auto_increment, caption ...

    创建外键注意的地方

    1. 必须是innodb引擎

    2. 注意外键字段类型和另一张表主键字段类型一致否则报“cannot add foreign key constraint“

    创建

    create table class(cid int not null auto_increment, caption char(50) not null, primary key(cid)) engine=innodb charset=utf8;

    create table student(sid int not null auto_increment, sname char(20) not null, class_id int not null, 
        primary key(sid), foreign key(class_id) references class(cid) )engine=innodb charset=utf8;

     

    注:references class 是另一张表,(cid)是class表的主键

    若表已创建好,则通过如下规则:

    alter table 要添加外键的表 add foreign key(要添加外键的表将要被设为外键的字段) references 与外键相关的表 (与外键相关的表的主键)

    alter table score add foreign key (corse_id) references course (cid);

     

     

     

    展开全文
  • 前言 总觉得手写sql没有提示很不方便,终于找到PHPstorm中操作数据库的方法,记录如下 正文   创建两张表   如果要设置SET NULL,那么久必须允许为null,不能勾选not null...
  • 本篇文章主要给大家介绍mysql数据库怎么创建外键。关于mysql数据库外键的基础介绍,我们在这篇文章【Mysql外键是什么?有哪些用处?】中,已经给大家介绍过了,需要的朋友可以选择参考。了解了外键的基础定义,那么...
  • 如何设置数据库中的外键

    万次阅读 2021-01-30 08:19:41
    展开全部创建数据库时就是有主键的创建了主键,但是表之间的关系没有联系,要建数据库关系图只e69da5e887aa62616964757a686964616f31333365653739有主键没有外键时不行的。建外键的前提是此外键必须是另外一个表的...
  • 数据库设计:三范式 添加外键的好处:数据更加完整,表结构更加清晰 去除外键的好处不: 提高性能 (在进行插入,删除,更新时候数据库需要先检查数据完整性) 方便旧的数据的导入 ...
  • 添加外键有两种方式: 1. 创建表的时候, 添加外键约束 CREATE TABLE 表名称 ( 列名 数据类型 约束, .... , FOREIGN KEY (本表外键列名) REFERENCES 主表名称 (主表主键列名) ); 2. 创建表之后, 添加外键约束...
  •  建立外键约束的语句:constraint `外键名` foreign key(ab_id) references `a`(a_id);  foreign key(ab_id) references `a`(a_id); 默认给予外键名,不会重复。   删除外键: alter table `b` drop ...
  • SQL数据库外键代码

    千次阅读 2021-01-18 19:15:29
    子表(test_student)创建一个外键, alter表TEST_STUDENT 添加约束fk_class_id外键(CLASS_ID) 参考test_class(CLASS_ID); 扩展资料: 1.高可用性: 分布式组织的可扩展性,决策支持的数据仓库功能,与...
  • NULL 博文链接:https://yanzhenwei.iteye.com/blog/850724
  • mysql数据库创建外键老是失败? 可能原因: ...1、这是建外键的列与要关联的列类型不匹配造成的;...4、两个表中本来已有数据了,建立外键时没保证:参照表 中的所有记录 的外键所在列 的值 均需在
  • 数据库语句怎么加外键

    千次阅读 2021-01-30 09:38:46
    展开全部为已经添加好的数据表添加外键:语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的表的32313133353236313431303231363533e59b9ee7ad9431333363386130...
  • mysql建立外键失败的原因有哪些发布时间:2020-09-04 09:24:43来源:亿速云阅读:79作者:小新这篇文章将为大家详细讲解有关mysql建立外键失败的原因有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家...
  • 数据库外键是什么?

    千次阅读 2021-02-02 03:35:29
    外键 ( foreign key ) 是用于建立和加强两个表数据之间的链接的一列或多列。通过将保存表中主键值的一列或多列添加到另一个表中,可创建两个表之间的链接。这个列就成为第二个表的外键。为什么要使用外键?保证数据...
  • 关于数据库外键使用 (参考极客时间 SQL必知必会) 首先说一下设计数据表的原则 1.数据表的个数越少越好 2.数据表中的字段个数越少越好 3.数据表中联合主键的字段个数越少越好 4.使用主键和外键越多越好 上面第4点...
  • 数据库中添加外键的两种方式

    千次阅读 2019-08-09 11:37:27
    article">MySQL数据库中添加外键的两种方式 ...
  • 数据库——外键的作用

    千次阅读 2019-08-15 12:47:02
    我们用一个比较实际的例子来描述问题,并讲解外键作用: 当我们在网上购物的时候,我们有我们的帐号,还有我们所在不同地方的地址信息如公司,学校,家里,或者给亲戚朋友送个礼物,收货人信息也不一样。 我们...
  • Sql server怎样创建主外键关系小弟刚学Sql Server,最好能详细一点的。Sqlserver怎样创建主外键关系的方法。 如下参考: 1....在oracle数据库中怎样创建主外键关系在oracle 的sqlplus 中写什么sql语句...
  • 2个表;人员表,订单表; 创建人员表,pid为主键;Sqlite的主键自增长必须为integer,不能为int; 创建订单表;字段: oid,orderno, pid;...订单表中的 pid 列指向人员表中的pid列;...sqlite外键的写法:.
  • 建立外键的好处: 1) 由数据库保证数据完整性,比程序保证完整性更可靠,多应用时(如有应用A,B,C他们之间的实体存在关联关系),由程序来保证数据完整性变得困难 2) 外键约束使得数据库的ER图可读性变强,有助于...
  • 数据库设置外键 做关联

    千次阅读 2020-03-19 09:45:54
    alter table t_borrow add constraint aid foreign key (adminid) references t_admin(id) aid 为外键的名字 adminid 为t_borrow 的外键 id为t_admin的一个字段
  • 什么是数据库外键?

    千次阅读 2021-04-10 21:17:42
    外键就是一个表中的一个字段引用了另一个表中的主键,引用的表叫做子表,被引用的表叫做主表,外键是一种约束,描述的是表之间的关系。
  • 数据库外键的优势以及缺点

    千次阅读 2017-05-23 13:40:48
    对于主/外键/索引来说,在一些开发团队中被认为是处理数据库关系的利器,也被某些开发团队认为是处理某些具体业务的魔鬼,您的观点呢?在实际应用中您会采取哪种方式? 大家共同观点: 主键和索引是不可少的,不仅...
  • 分享给大家供大家参考,具体如下:本文内容:什么是外键外键的增加外键的修改和删除外键的约束模式首发日期:2018-04-12什么是外键外键就是表中存在一个字段指向另外一个表的主键,那么这个字段就可以称为外键。...
  • 数据库外键的作用

    千次阅读 2015-08-12 17:38:40
    外键的作用: 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!...建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 106,607
精华内容 42,642
关键字:

数据库建立外键