mysql 设置外键约束(foreign key)

mysql 设置外键约束(foreign key)建立外键约束可以采用列级约束语法和表级约束语法,如果仅仅对单独的一个数据列建立外键约束,则使用列级约束语法即可;如果需要对多个列组合创建外键约束,或者需要为外键约束指定名字则必须使用表级约束语法。      使用列级约束语法建立外键约束直接使用references关键字,references指定该列参照的哪个主表,以及参照主表的哪一列。如下SQL语句所示:createtablet

大家好,又见面了,我是你们的朋友全栈君。

   建立外键约束可以采用列级约束语法和表级约束语法,如果仅仅对单独的一个数据列建立外键约束,则使用列级约束语法即可;如果需要对多个列组合创建外键约束,或者需要为外键约束指定名字则必须使用表级约束语法。

       使用列级约束语法建立外键约束直接使用references关键字,references指定该列参照的哪个主表,以及参照主表的哪一列。如下SQL语句所示:

create table teacher_table

(

teacher_id int auto_increment,

teacher_name varchar(255),

primary key(teacher_id)

);

 

 

create table student_table

(

student_id int auto_increment primary key,

student_name varchar(255),

java_teacher int references teacher_table(teacher_id)

);

   虽然MySQL支持使用列级约束的语法来建立外键约束,但这种列级的约束语法建立的外键约束不会生效,MySQL提供这种列级约束语法仅仅是和标准SQL保持良好的兼容性。因此,如果需要MySQL中的外键约束生效,应使用表级约束语法。

create table teacher_table1

(

teacher_id int auto_increment,

teacher_name varchar(255),

primary key(teacher_id)

);

 

create table student_table1

(

student_id int auto_increment primary key,

student_name varchar(255),

java_teacher int,

foreign key(java_teacher) references teacher_table1(teacher_id)

或者使用下面的语句建立外键约束,并指定外键约束名student_teacher_fk

constraint student_teacher_fk foreign key(java_teacher) references teacher_table1(teacher_id)

);

    如果使用表级约束语法,则可以需要使用foreign key来指定本表的外键列,并使用references来指定参照哪个主表,以及参照到主表的哪个列。使用表级约束语法可以使用外键的约束指定约束名,如果创建外键约束没有指定约束名,则MySQL会为该外键约束命名为table_name_ibfk_n,其中table_name是从表的表名,而n是从1开始的整数。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151172.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于springboot的旅游管理系统

    基于springboot的旅游管理系统1,项目功能:(1)旅游路线(2)旅游景点(3)餐饮住宿(4)旅游车票(5)旅游保险(6)旅游攻略(7)注意事项(8)会员中心(9)用户管理(10)内容管理(11)业务管理(12)数据分析2,涉及技术:SpringBoot框架,Maven,Tomcat3,开发环境:IDEA,MySQL数据库4,讲解方式:从环境安装,项目搭建,以及项目介绍等进行讲解5,包含资料:项目源码(含数据库文件),环境安装包,项目文档。课程链接+项目下载:基于spr…

  • chrome frame节点 取_Chrome Frame插件解决IE浏览器兼容问题

    chrome frame节点 取_Chrome Frame插件解决IE浏览器兼容问题时不时碰到客户的浏览器为IE7,IE8,甚至IE6的,他们不能升级浏览器,因为升级后,机器中其它的重要系统无法访问。而新系统的前端又需要浏览器的支持,比如H5,SVG等等,换框架结构,成本无疑是巨大的,而且风险不可控。针对此种情况,安装GoogleFrame是相对非常完美的解决方案,不要求升级浏览器,只安装一个插件,且对原系统无任何干扰,新系统也可根据情况对是否使用GoogleFrame插件进…

  • 表达式1&&2&&3&&4_矩阵化表达式求值

    表达式1&&2&&3&&4_矩阵化表达式求值这道题一看就跟正常表达式求值差不多,我们需要一步一步保存前一部分的得0和得1的方案数,然后再与后面的进行运算,求出下个状态的方法总数,看到这里,很多朋友肯定想到了动态规划,然而如何保存运算顺序呢,那就要用到中缀表达式转后缀表达式,再按照运算顺序进行计算,下面是代码:#include<cstdio>#include<cstring>#include<…

  • 无插件纯Web 3D机房,HTML5+WebGL倾力打造

    无插件纯Web 3D机房,HTML5+WebGL倾力打造前言-最近项目开发任务告一段落,刚好有时间整理这大半年的一些成果。使用html5时间还不久,对js的认识还不够深入。没办法,以前一直搞java,对js的一些语言特性和概念一时还转换不过来。上一篇大数

  • Tomcat调优和JVM优化[通俗易懂]

    Tomcat调优和JVM优化[通俗易懂]Tomcat本身优化工作方式选择为了提升性能,首先就要对代码进行动静分离,让Tomcat只负责jsp文件的解析工作。如采用Apache和Tomcat的整合方式,他们之间的连接方案有三种选择,JK、http_proxy和ajp_proxy。相对于JK的连接方式,后两种在配置上比较简单的,灵活性方面也一点都不逊色。但就稳定性而言不像JK这样久经考验,所以建议…

  • PEST 分析法

    PEST 分析法PEST分析法:用于对宏观环境的分析。宏观环境又称一般环境,是指影响一切行业和企业的各种宏观力量。对宏观环境因素作分析时。由于不同行业和企业有其自身特点和经营需要,分析的具体内容会有差异,但一般都应对政治(Political)、经济(Economic)、技术(Technological)和社会(Social)这四大类影响企业的主要外部环境因素进行分析,这种方法简称为PEST分析法…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号