精华内容
下载资源
问答
  • mysql创建表时添加外键约束产生Cannot add foreign key constraint 例如创建了user(user_id pk)和role(role_id pk),当创建user_role(user_id fk,role_id fk)关联的时候就出现问题。 1.所添加外键必须是另一...

    mysql创建表时添加外键约束产生Cannot add foreign key constraint

    例如创建了user(user_id pk)表和role(role_id pk)表,当创建user_role(user_id fk,role_id fk)关联表的时候就出现问题。

    1.所添加外键必须是另一个表的主键。

    2.所关联的外键的类型必须和另一个表的主键相同.user中的user_id的类型必须和user_role中的user_id的类型相同;role中的role_id的类型必须和user_role中的role_id的类型相同

    3.使用navicat连接mysql时,没有新建数据库,使用的是默认数据库,其原因主要是
    数据库引擎不同!
    查询user表数据库引擎语句show create table user;
    查询结果如下所示:
    CREATE TABLE user (
    user_id int(11) NOT NULL,
    username varchar(30) NOT NULL,
    PRIMARY KEY (user_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    查询role表数据库引擎语句show create table role;
    CREATE TABLE role (
    role_id int(11) NOT NULL,
    rolename varchar(30) NOT NULL,
    PRIMARY KEY (role_id)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8

    展开全文
  • 关于Mysql新建表时设置外键或者从已有添加外键 *外键:在从中与主主键对应的那一列,如:下面例子中的联系人中的(lkm_cust_id) 主: 一方,用来约束别人的: 多方,被别人约束的 1.新建表时 ...

    关于Mysql新建表时设置外键或者从已有表中添加外键

    *外键:在从表中与主表主键对应的那一列,如:下面例子中的联系人表中的(lkm_cust_id)

    • 主表: 一方,用来约束别人的表
    • 从表: 多方,被别人约束的表

    1.新建表时

    [CONSTRAINT] [外键在这里插入代码片约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名);
    

    例如: 此处在联系人表中添加外键(cust_id)

    /*创建客户表*/
    CREATE TABLE cst_customer (
      cust_id bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)',
      PRIMARY KEY (`cust_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=94 DEFAULT CHARSET=utf8;
    
    /*创建联系人表*/
    CREATE TABLE cst_linkman (
      lkm_id bigint(32) NOT NULL AUTO_INCREMENT COMMENT '联系人编号(主键)',
      lkm_cust_id bigint(32) NOT NULL COMMENT '客户id(外键)',
      PRIMARY KEY (`lkm_id`),
      CONSTRAINT `FK_cst_linkman_lkm_cust_id` FOREIGN KEY (`lkm_cust_id`) REFERENCES `cst_customer` (`cust_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
    
    1. 在已有表中添加外键
      语法:
    ALTER TABLE 从表 ADD [CONSTRAINT] [外键约束名称] FOREIGN KEY (外键字段名) REFERENCES 主表(主
    键字段名);
    

    3.补充----设置外键时on条件说明

    • . cascade方式
      在父表上update/delete记录时,同步update/delete掉子表的匹配记录

      . set null方式
      在父表上update/delete记录时,将子表上匹配记录的列设为null
      要注意子表的外键列不能为not null

      . No action方式
      如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作

      . Restrict方式
      同no action, 都是立即检查外键约束

      . Set default方式
      父表有变更时,子表将外键列设置成一个默认的值 但Innodb不能识别

    展开全文
  • 命令:altertable需加外键addconstraint外键名foreignkey(需加外键表的字段名)referencnes关联表名(关联字段名); 注意:外键名不能重复

    命令:alter table 需加外键的表 add constraint 外键名 foreign key(需加外键表的字段名) referencnes 关联表名(关联字段名);

    注意:外键名不能重复

    展开全文
  • mysql 创建表添加外键约束注意

    千次阅读 2017-10-11 20:40:18
    (1)外键对应的字段数据类型不一致 (2)设置外键时“删除时”设置为“SET NULL” (3)两张的存储引擎不一致

    (1)外键对应的字段数据类型不一致

    (2)设置外键时“删除时”设置为“SET NULL”

    (3)两张表的存储引擎不一致

    展开全文
  • mysql表创建好后添加外键

    万次阅读 2017-10-12 17:36:10
    命令:alter table 需加外键 add constraint 外键名 foreign key(需加外键表的字段名) referencnes 关联表名(关联字段名); 注意:外键名不能重复 ALTER TABLE STORE_FRONTINFO ADD CONSTRAINT FK_STORE_FR_...
  • MySQL表添加外键约束

    万次阅读 2017-07-12 23:43:55
    表添加外键约束的语法 Alter table 表名 add constraint FK_ID foreign key(外键字段名) REFERENCES 外表表名(主键字段名);为student添加外键约束执行成功后,使用DESC来查看学生和班级 可以看出,grade...
  • Mysql表添加外键约束

    千次阅读 2018-08-15 18:25:26
    ·添加外键约束:altertable从addconstraint外键(形如:FK_从_主)foreignkey(从外键字段)references主(主键字段); 如果mysql报错:Error Code: 1215. Cannot add foreign key constraint (foreign keys) ...
  • 已经创建完毕,之后想设置外键,出现下列错误的原因如下:(外键的设置请看下图,...某个已经有记录了,添加外键失败,这时候只需要将两个要关联的中的数据清空再从新添加外键关系即可。 详见:https://b...
  • 可以在创建表时添加外键 可以在创建添加外键   删除中的外键 注意:这里的fk_PerOrders是show create table Orders查出来的标红的(下面只是举一个例子)  ...
  • 创建学生、班级以及添加外键添加简单代码
  • 创建表1.如果是5.6以下timestamp(3)改为timestamp不然报错create table ACT_RE_MODEL ( ID_ varchar(64) not null, REV_ integer, NAME_ varchar(255), KEY_ varchar(255), CATEGORY_ varchar(255), CREATE_...
  • MySQL删除表时忽略外键约束如何实现方法例子分享给大家,本文是告诉大家关于MySQL删除的时候忽略外键约束的简单实现,有兴趣的朋友赶紧来了解一下吧。删除并不常见,特别是对于具有外键关联的。但是,在开发...
  • 前提:sys_group和sys_menu通过sys_group_menu关联起来 ——–主键是sys_group的id ——–外键是sys_group_menu上的group_id ...– 添加外键 Alter Table sys_group_menu Add Constraint sgm_group Fore...
  • MySQL添加和删除外键约束

    千次阅读 2019-04-27 21:15:02
    1. 创建表时添加外键约束 CREATE TABLE Orders ( Id_O int NOT NULL, OrderNo int NOT NULL, Id_P int, PRIMARY KEY (Id_O), CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)...
  • – 已存在增加外键 alter table 表名 add constraint 键名 foreign key (外键字段) references 主(字段); –把外键约束增加事件触发限制 alter table 外键的表名 drop foreign key 键名; alter table 外键的表名...
  • MySQL数据中怎样添加外键的两种方式: 第一种方式(创建表之后添加) CREATE TABLE my_classes( class_id INT PRIMARY KEY AUTO_INCREMENT, class_name VARCHAR(20) NOT NULL , class_school_id INT ...
  • 用Navicat for mysql创建表,在设置外键的时候,删除和更新两列有四个值可以选择:CASCADE、NO ACTION、RESTRICT、SET NULL CASCADE、NO ACTION、RESTRICT、SET NULL区别如下: CASCADE:父delete、update...
  • mysql数据建立主外键需要注意以下几点: 需要建立主外键关系的两个的存储引擎必须是InnoDB。 外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型。 外键列和参照列必须创建索引,如果外键列...
  • **语法:**alter table 从 add [constraint] [外键名称] foreign key (从表外键字段名) references 主 (主的主键); [外键名称] 用于删除外键约束的,一般建议“_fk”结尾 alter table 从 drop foreign ...
  • mysql对表进行添加字段、添加索引和添加外键
  • Mysql 创建表外键

    千次阅读 2016-03-21 14:51:57
    1.定义,可以指定主键 create table sc (sno char(9),courseno char(10),grade smallint, primary key (sno,courseno)); 2.插入数据 insert into sc values ('31101','01',89); insert into sc values ('...
  • RESTRICT : 只要本表格里面有指向主的数据, 在主里面就无法删除相关记录。 一般来说,就选restrict最安全,当然也根据具体的业务而言了.cascade很cool,但是数据哗的一下就没了....为book表添加外键:明确指定外键的
  • 这次在学校进行生产实习,跟随老师创建一个PHP项目,实现一个电子商务系统B to B模式的,在设计数据库的时候,因为要实现父和子之间的关联,涉及到添加主键和外键,在添加的时候,无论如何都出现一个1215错误,...
  • 如果不是,可在创建表时加上engine=InnoDB. 2.确保主有主键或对应的索引; 3.确保从表外键字段与主表字段类型一致; 4.确保该外键名称之前未被使用,可通过SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE...
  • MySQL添加外键

    2019-03-02 09:36:46
    为已经添加好的数据表添加外键: 语法:alter table 表名 add constraint FK_ID foreign key(你的外键字段名) REFERENCES 外表表名(对应的的主键字段名); 例: alter table tb_active add constraint FK_ID foreign ...
  • 创建外键: 目的为`orderitem`创建两个外键`pid`和`oid`关联到`product`和`orders` CREATE TABLE `orderitem` ( `itemid` varchar(32) NOT NULL, `quantity` int(11) DEFAULT NULL, #购买数量 `...
  • MySQL 添加外键时 的注意事项 1.数据库引擎 : InnoDB 2.一A字段做为二的外键时。A字段的长度需要和二的B字段长度一致。 3.A字段需要是一的主键 MySQL语句 添加外键的SQL语句: CONSTRAINT picture_number ...
  • MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 53,533
精华内容 21,413
关键字:

mysql创建表时添加外键

mysql 订阅