精华内容
下载资源
问答
  •  这里以MySQL为例,总结一下3种外键约束方式的区别和联系。  这里以用户表和用户组表为例,这是一个典型的多对一关系,多个用户对应于一个用户组。  首先创建用户组表:  create table t_group(  id int ...
  • MySQL外键约束是用来在两个表之间建立链接的,其中一个表发生变化,另外一个表也发生变化。从这个特点来看,它主要是为了保证表数据的一致性和完整性的。 对于两个通过外键关联的表,相关联字段中主键所在的表是主...
  • 禁用外键约束 SET FOREIGN_KEY_CHECKS=0; 启动外键约束 SET FOREIGN_KEY_CHECKS=1; 查看当前FOREIGN_KEY_CHECKS的值 SELECT @@FOREIGN_KEY_CHECKS;
    
    禁用外键约束
    
    SET FOREIGN_KEY_CHECKS=0;
    启动外键约束
    SET FOREIGN_KEY_CHECKS=1;
    查看当前FOREIGN_KEY_CHECKS的值
    SELECT  @@FOREIGN_KEY_CHECKS; 
    展开全文
  • 查询mysql所有外键约束

    千次阅读 2018-12-27 11:05:01
    C.CONSTRAINT_NAME 约束名, T.TABLE_COMMENT 表注释, R.UPDATE_RULE 约束更新规则, R.DELETE_RULE 约束删除规则 FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE C JOIN INFORMATION_SCHEMA. TABLES T ON T.TABLE_...
    SELECT C.TABLE_SCHEMA            拥有者,
               C.REFERENCED_TABLE_NAME  父表名称 ,
               C.REFERENCED_COLUMN_NAME 父表字段 ,
               C.TABLE_NAME             子表名称,
               C.COLUMN_NAME            子表字段,
               C.CONSTRAINT_NAME        约束名,
               T.TABLE_COMMENT          表注释,
               R.UPDATE_RULE            约束更新规则,
               R.DELETE_RULE            约束删除规则
          FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE C
          JOIN INFORMATION_SCHEMA. TABLES T
            ON T.TABLE_NAME = C.TABLE_NAME
          JOIN INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS R
            ON R.TABLE_NAME = C.TABLE_NAME
           AND R.CONSTRAINT_NAME = C.CONSTRAINT_NAME
           AND R.REFERENCED_TABLE_NAME = C.REFERENCED_TABLE_NAME
          WHERE C.REFERENCED_TABLE_NAME IS NOT NULL ; 

    结果:

    外键约束创建的SQL:

    ALTER TABLE course ADD CONSTRAINT FK_course_teacher FOREIGN KEY(Tid) REFERENCES teacher(Tid);
    ALTER TABLE sc ADD CONSTRAINT FK_sc_student FOREIGN KEY(S) REFERENCES student(S);
    ALTER TABLE sc ADD CONSTRAINT FK_sc_course FOREIGN KEY(C) REFERENCES course(Cid);

    外键约束删除的SQL:

    ALTER TABLE course DROP FOREIGN KEY Tid
    

    附:添加唯一联合索引:

    ALTER TABLE sc ADD UNIQUE INDEX idx_s_c(s,c)

     

    展开全文
  • 主要介绍了MySQL外键约束常见操作方法,结合实例形式分析了mysql针对外键约束的查看、添加、修改、删除等相关操作实现方法,需要的朋友可以参考下
  • 删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心。但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的事情;另外在测试的时候,也有需要重新创建数据库...
  • MySQL中删除一张表或一条数据的时候,...禁用外键约束,我们可以使用: SETFOREIGN_KEY_CHECKS=0; 然后再删除数据 启动外键约束,我们可以使用: SETFOREIGN_KEY_CHECKS=1; 查看当前FOREIGN_KEY_CHECKS的值,可用
  • 测试库中需要对一些数据表做清空数据操作时,因为表之间有外键约束,所以,想了解其约束关系,这时可以通过库information_schema的key_column_usage表来查看。 CONSTRAINT_CATALOG: 约束所属目录的名称,值始终为...

    法一

    show create table table_name
    

    法二

    测试库中需要对一些数据表做清空数据操作时,因为表之间有外键约束,所以,想了解其约束关系,这时可以通过库information_schema的key_column_usage表来查看。

    在这里插入图片描述

    • CONSTRAINT_CATALOG: 约束所属目录的名称,值始终为def

       - CONSTRAINT_SCHAME: 约束所属schema(database)名称
      
       - CONSTRAINT_NAME: 约束名称
      
       - TABLE_CATALOG: 表所属目录的名称,值始终为def
      
       - TABLE_SCHEMA: 表所属schema(database)名称
      
       - TABLE_NAME: 具有约束的表的名称
      
       - ORDINAL_POSITION: 列在约束内的位置,而不是列在表中的位置,列位置从1开始
      
       - POSITION_IN_UNIQUE_CONSTRAINT: NULL对于唯一和主键约束,对于外键约束,此列是正在引用的表的键中的序号位置
      

    新建2个表

    CREATE TABLE teacher(
       teacher_id int(12) primary key,
       teacher_name varchar(10)
    )ENGINE= InnoDB DEFAULT CHARSET=UTF8; 
    
    CREATE TABLE crouse(
       crouse_id int(8) primary key,
       crouse_name varchar(20),
       teacher_id int(12),
       CONSTRAINT fk_crouse_sid FOREIGN KEY(teacher_id) REFERENCES teacher(teacher_id)
    )ENGINE= InnoDB DEFAULT CHARSET=UTF8;
    

    查看全部信息

    select * from information_schema.key_column_usage;
    

    如下 最上一栏为属性信息
    在这里插入图片描述
    现查询crouse表的信息

    select * from information_schema.key_column_usage where TABLE_NAME='crouse';
    

    如下
    在这里插入图片描述

    展开全文
  • 记录一下碰到的问题。由于我是使用PowerDesigner来建mysql物理...它不让我删除,说存在外键约束,删除会破坏他们的结构。 外键约束:让数据库自己通过外键来保证数据的完整性和一致性,让他们的关联性更强。 虽然它是有

    记录一下碰到的问题。由于我是使用PowerDesigner来建mysql物理模型的,为了表与表之间的关系更加清楚,我给他们连线了。之后我就用它生成的SQL语句在navicat把表建出来,我看见没问题就直接用了,毕竟初学者嘛,嘿嘿。
    到我做到删除的时候,我一般是先在数据库先试试SQL语句可以还是不可以才把它写到项目里面的,然后,在我写好删除的SQL后,运行,它报错了。它不让我删除,说存在外键约束,删除会破坏他们的结构。
    外键约束:让数据库自己通过外键来保证数据的完整性和一致性,让他们的关联性更强。
    虽然它是有用处,但一般是用不上的,而且会让我们写SQL的难度增加。
    有可能带来的问题,当mysql数据库中有两个表,table1和table2,相互关联,在删除表的时候出错:

    Cannot delete or update a parent row: a foreign key constraint fails

    很明显这是表关联生成的强制约束问题,在删除的时候回检查表之间的关联关系,从而导致无法删除。
    如果不想删除它的外键约束,其实可以在mysql这样写
    在这里插入图片描述
    这样就可以删除带有外键约束的表的数据了,但是,我还不会写到mybatis的xml里面,而且我感觉它给我的用处不大,所以我决定把我那个数据库里面的外键约束全部删除掉。
    我们先把数据库里面所有的外键约束查出来
    在这里插入图片描述

    数据库名那里就写你要删除外键约束的数据库名字就行了,然后运行。
    接着他就会查出一堆外键约束给你
    在这里插入图片描述

    然后把查出来的东西复制到上面执行
    在这里插入图片描述

    最后就成功了,这下子没有了外键约束的阻碍,我们不是想删除啥就删除啥。

    展开全文
  • 查看外键名称查看数据库外键名字

    千次阅读 2019-10-29 12:46:35
    通过mysql自带的系统表查看外键。 更多精彩请访问本文源地址: https://blog.csdn.net/zixiao217 先来看一下创建外键的方式: 创建外键的方式 更多精彩请访问本文源地址: https://blog.csdn.net/zixiao217 方式一:...
  • 查看mysql所有的主键,外键约束名称

    万次阅读 2016-09-08 10:52:39
    select * from INFORMATION_SCHEMA.KEY_COLUMN_USAGE
  • (还未加外键约束) 1. mysql> show columns from message;//信息表 +-----------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-----------+--------...
  • MySQL删除外键约束问题。

    千次阅读 2019-05-26 10:20:54
    当我们在一个表中添加字段约束的时候: ALTER TABLE product ADD CONSTRAINT product_fk FOREIGN ...会认为我的外键约束名称为product_fk, 然后当我们想删除时: ALTER TABLE product DROP FOREIGN KEY product_...
  • MySQL外键约束情况下插入数据

    千次阅读 2019-11-29 21:14:10
    外键约束情况下,对表进行操作会报错: 如: Cannot add or update a child row: a foreign key constraint fails (`dsp`.`dsp_rpt_olap_resource_info_daily`, CONSTRAINT `dsp_rpt_olap_resource_info_daily_...
  • Mysql设置外键约束失效

    千次阅读 2018-03-05 11:16:05
    1 查看外键约束是否有效 select @@FOREIGN_KEY_CHECKS,1表示有效,0表示失效。2 设置失效 SET FOREIGN_KEY_CHECKS = 0 ,设置生效 SET FOREIGN_KEY_CHECKS = 13 注意,这个设置只会对单个Connection生效,...
  • MySQL数据库——外键约束

    千次阅读 2019-05-06 16:47:23
    文章目录方案一:单张表方案二:两张表方案三:两张表并添加外键约束 把用户信息及其收货地址保存在数据中 方案一:单张表 创建表 create table user_info( id char(36) primary key, user_name varchar(30) not ...
  • mysql添加外键约束的两种方式(重要)

    万次阅读 多人点赞 2018-08-22 11:07:10
    -- 添加外键约束 CREATE TABLE stu(  sid INT PRIMARY KEY,  NAME VARCHAR(50) NOT NULL ); -- 添加外键约束方式一 CREATE TABLE score1(  score DOUBLE,  sid INT,  CONSTRAINT fk_stu_score1_sid FOREIGN KEY...
  • MySQL外键约束FOREIGN KEY

    千次阅读 2019-04-08 14:43:46
    一、建立外键约束 语法如下: [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (col_name, ...) REFERENCES tbl_name (col_name,...) [ON DELETE reference_option] [ON UPDATE reference_option] ...
  • Mysql 删除外键约束

    2018-03-26 19:42:17
    引言:MySQL 直接删除带有外键约束的表时,常常会报下面的错误:或者是:Cannot truncate a table referenced in a foreign key constraint !解决方法:SET FOREIGN_KEY_CHECKS = 0; TRUNCATE table $table_name; ...
  • mysql删除外键约束

    万次阅读 多人点赞 2018-01-20 08:11:10
    1.查看数据库表创建的sql语句 ...2.查看外键约束名 CREATE TABLE `vip` ( `id` int(11) NOT NULL AUTO_INCREMENT, `address` varchar(255) DEFAULT NULL, `code` varchar(255) DEFAULT NULL,
  • MySQL添加外键约束语法

    万次阅读 2019-05-09 16:00:01
    ·添加外键约束: altertable从表addconstraint外键(形如:FK_从表_主表)foreignkey(从表外键字段)references主表(主键字段); 如果mysql报错:Error Code: 1215. Cannot add foreign key constraint (foreign ...
  • 详解MySQL 外键约束

    2020-12-14 08:20:16
    MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。 2.外键的使用条件 两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持) 外键列必须建立了索引,MySQL ...
  • MySQL8.0-外键约束

    2021-08-13 13:18:05
    1、创建订单表(ordes) 订单表(orders) orders(id,customerId,saleId,orderDate,notes) orders表数据 订单ID 客户ID 销售员ID 订单日期 ...为customerId字段设置外键约束,参照客户表(customer)
  • 生成删除的sql SELECT concat( 'DROP TABLE IF EXISTS ', table_name, ';' ) FROM information_schema. TABLES WHERE TABLE_NAME IN ( ... ); 复制代码 进行删除 ...DROP TABLE IF EXIS...
  • Mysql中取消外键约束

    千次阅读 2018-10-03 10:00:42
    Mysql中取消外键约束 ** Mysql中如果表和表之间建立的外键约束,则无法删除表及修改表结构。 解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0; 然后将原来表的数据导出到sql语句,重新创建此表后,再把...
  • MySQL 删除外键约束

    千次阅读 2018-08-27 22:51:36
    Your MySQL connection id is 14 Serverversion: 8.0.11 MySQL Community Server - GPL 准备: create table orders(orders_id int primary key auto_increment,total int,count float,time time); create tab.....
  • mysql外键约束失败

    千次阅读 2019-08-26 19:27:02
    报错:org.springframework.dao.DataIntegrityViolationException: ### Error updating ... Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Cannot add or update a chi...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,442
精华内容 24,976
关键字:

mysql查看外键约束名

mysql 订阅