MySQL外部键怎么用

使用MySQL外部键的方法:1、两个表必须是InnoDB表类型;2、使用在外键关系的域必须为索引型Index;3、使用在外键关系的域必须与数据类型相似。

MySQL外部键怎么用

【相关学习推荐:mysql教程(视频)】

使用MySQL外部键的方法:

1、只有InnoDB类型的表才可以使用外键。mysql默认是MyISAM,这种类型不支持外键约束

2、外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作。

3、外键的作用:

保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值。

4、建立外键的前提:

两个表必须是InnoDB表类型。

使用在外键关系的域必须为索引型(Index)。

使用在外键关系的域必须与数据类型相似。

5、创建的步骤

指定主键关键字: foreign key(列名)。

引用外键关键字: references (外键列名)。

一键抠图 一键抠图

在线一键抠图换背景

一键抠图 30 查看详情 一键抠图

6、事件触发限制:on delete和on update , 可设参数cascade(跟随外键改动)。

restrict(限制外表中的外键改动),set

Null(设空值),set Default(设默认值)。

[默认]no action

7、举例

outTable表 主键 id 类型 int

创建含有外键的表:

代码如下:

create table temp(id int,namechar(20),foreign key(id) references outTable(id) on delete cascade on updatecascade);

说明:把id列 设为外键 参照外表outTable的id列 当外键的值删除 本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。

代码如下:

create table temp( id int, name char(20),foreign key(id) references outTable(id) on delete cascade on updatecascade);

想了解更多编程学习,敬请关注php培训栏目!

以上就是MySQL外部键怎么用的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/361909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
swoole的onreceive不触发
上一篇 2025年11月6日 03:15:15
动态生成数据库列:稳妥的做法还是潜在风险?
下一篇 2025年11月6日 03:15:25

相关推荐

  • mysql视图能创建索引吗

    mysql视图不能创建索引。视图是一种虚拟存在的表,并不实际存在于数据库中,它是没有实际行和列的(行和列的数据来自于定义视图的查询中所使用的表);而索引是一种特殊的数据库结构,由数据表中的一列或多列组合而成,因此视图中不能创建索引,没有主键,也不能使用触发器。 本教程操作环境:windows7系统、…

    2026年8月30日
    000
  • mysql查询视图命令是什么

    mysql查询视图命令是什么mysql查询视图命令是什么mysql查询视图命令是什么mysql查询视图命令是什么

    mysql查询视图命令是“DESCRIBE”或者“SHOW CREATE VIEW”。DESCRIBE命令可以查看视图的字段信息,语法为“DESCRIBE 视图名;”,可简写为“DESC 视图名;”;而“SHOW CREATE VIEW”命令可以查看视图的详细信息,语法为“SHOW CREATE V…

    2026年8月30日 用户投稿
    200
  • linux怎么卸载mysql?

    linux卸载mysql的步骤: 1、首先查看mysql的安装情况 rpm -qa|grep -i mysql 显示之前安装了: MySQL-client-5.5.25a-1.rhel5MySQL-server-5.5.25a-1.rhel5 2、停止mysql服务,并删除包 删除命令:rpm -e…

    2026年8月30日
    200
  • mysql怎么查询表的字符集编码

    mysql查询表字符集编码的两种方法:1、使用“show table status”语句查看指定数据库中指定表的字符集编码,语法“show table status from 库名 like 表名;”。2、使用“show columns”语句配合full关键字查看当前数据库中指定表所有列的字符集编码…

    2026年8月30日
    000
  • 深入了解Mysql中的锁,聊聊使用场景!

    本篇文章带大家了解一下mysql中的锁,搞懂共享锁、排他锁、悲观锁、乐观锁,并聊聊使用场景,希望对大家有所帮助! 一、常见锁类型 表级锁,锁定整张表页级锁,锁定一页行级锁,锁定一行共享锁,也叫S锁,在MyISAM中也叫读锁排他锁,也叫X锁,在MyISAM中也叫写锁悲观锁,抽象性质,其实不真实存在乐观…

    2026年8月30日
    000
  • MySQL锁升级机制是什么_如何影响并发性能?

    MySQL锁升级机制是什么_如何影响并发性能?MySQL锁升级机制是什么_如何影响并发性能?MySQL锁升级机制是什么_如何影响并发性能?MySQL锁升级机制是什么_如何影响并发性能?

    mysql的“innodb存储引擎并没有自动锁升级机制。①缺少或不当索引会导致全表扫描,进而锁定大量行或页;②显式使用lock tables直接加表锁;③ddl操作如alter table需表级锁保证结构一致性;④大事务或长事务长时间持有大量行锁影响并发;⑤优化器基于成本选择全表扫描而非索引查找。这…

    2026年8月29日 用户投稿
    100
  • mysql列转行函数是什么

    mysql列转行函数是什么mysql列转行函数是什么mysql列转行函数是什么mysql列转行函数是什么

    在mysql中,列转行函数是“group_concat()”函数;该函数用于将非空列值按照分组条件进行合并并最终返回,如果其中有空值则返回的结果是空,语法为“select group_concat(name  separator ‘;’)列名 from 表名;”。 本教程操作…

    2026年8月29日 用户投稿
    100
  • mysql远程连接不上怎么办

    解决方法:1、利用“select host,user from user;”查看root用户的可连接权限主机范围;2、利用“update user set host=‘%’ where user=‘root’;”修改root用户的修改权限的主机范围是任一主机;3、利用“systemctl resta…

    2026年8月29日
    100
  • MySQL怎么解决delete大量数据后空间不释放的问题

    本篇文章给大家带来了关于mysql的相关知识,其中主要整理了解决delete大量数据后空间不释放的相关问题,mysql 中 insert 与 update 都可能导致页分裂,这样就存在碎片,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程    MySQL 的几种碎片整理方案总结(…

    2026年8月29日
    000
  • mysql怎么删除外键关系

    mysql怎么删除外键关系mysql怎么删除外键关系mysql怎么删除外键关系mysql怎么删除外键关系

    在mysql中,可以利用ALTER TABLE语句配合DROP关键字来删除外键关系(约束),语法“ALTER TABLE 数据表名 DROP FOREIGN KEY 外键约束名;”;“ALTER TABLE”语句用于修改表(改变原有表的结构),而添加了“DROP FOREIGN KEY”语句后,修改…

    2026年8月29日 用户投稿
    500
  • 归纳整理MySQL半同步复制配置

    本篇文章给大家带来了关于mysql的相关知识,其中主要整理了半同步复制配置的相关问题,半同步模式下,主库事务至少要确保一个从库接收到日志才能完成提交,因此,可以保证在主库发生宕机时,已经提交的事务已经传送到从库,确保数据的不丢失,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 前…

    2026年8月29日
    000
  • 深入解析MySQL中的查询优化器(工作原理详解)

    深入解析MySQL中的查询优化器(工作原理详解)深入解析MySQL中的查询优化器(工作原理详解)深入解析MySQL中的查询优化器(工作原理详解)深入解析MySQL中的查询优化器(工作原理详解)

    本篇文章带大家深入解析一下mysql中的查询优化器,带大家理解一下mysql查询优化器工作原理,希望对大家有所帮助! 对于一个SQL语句,查询优化器先看是不是能转换成JOIN,再将JOIN进行优化 优化分为:1. 条件优化,2.计算全表扫描成本,3. 找出所有能用到的索引,4. 针对每个索引计算不同…

    2026年8月29日 用户投稿
    000
  • 一文聊聊MySQL中的自增主键

    一文聊聊MySQL中的自增主键一文聊聊MySQL中的自增主键一文聊聊MySQL中的自增主键一文聊聊MySQL中的自增主键

    本篇文章带大家深入了解下mysql中的自增主键,希望对大家有所帮助! 一、自增值保存在哪儿? 不同的引擎对于自增值的保存策略不同 1.MyISAM引擎的自增值保存在数据文件中 2.InnoDB引擎的自增值,在MySQL5.7及之前的版本,自增值保存在内存里,并没有持久化。每次重启后,第一次打开表的时…

    2026年8月29日 用户投稿
    100
  • laravel入门实例

    Laravel 是一款 PHP 框架,用于轻松构建 Web 应用程序。它提供一系列强大的功能,包括:安装: 使用 Composer 全局安装 Laravel CLI,并在项目目录中创建应用程序。路由: 在 routes/web.php 中定义 URL 和处理函数之间的关系。视图: 在 resourc…

    2026年8月29日
    000
  • MySQL慢查询优化最佳实践_MySQL结合EXPLAIN分析性能瓶颈

    MySQL慢查询优化最佳实践_MySQL结合EXPLAIN分析性能瓶颈MySQL慢查询优化最佳实践_MySQL结合EXPLAIN分析性能瓶颈MySQL慢查询优化最佳实践_MySQL结合EXPLAIN分析性能瓶颈MySQL慢查询优化最佳实践_MySQL结合EXPLAIN分析性能瓶颈

    mysql慢查询优化的核心在于分析执行路径并针对性调整。1. 识别慢查询:通过开启慢查询日志捕获执行时间超过阈值的sql语句;2. 使用explain分析查询:关注id、select_type、table、type(如all需优化)、possible_keys、key、key_len、ref、row…

    2026年8月29日 用户投稿
    100
  • MySql实例详解之怎么查出符合条件的最新的数据行

    MySql实例详解之怎么查出符合条件的最新的数据行MySql实例详解之怎么查出符合条件的最新的数据行MySql实例详解之怎么查出符合条件的最新的数据行MySql实例详解之怎么查出符合条件的最新的数据行

    本篇文章给大家带来了关于mysql的相关知识,其中主要整理了怎么查出符合条件的最新的数据行的相关问题,平时做业务,经常是需要查什么什么什么的最新的一条数据,至于最新这个概念,对于产品来说,经常会说的是时间顺序,最新也就是最近的意思,下面一起来看一下,希望对大家有帮助。 推荐学习:mysql视频教程 …

    2026年8月29日 用户投稿
    200
  • MySQL数据库JDBC编程知识点总结

    MySQL数据库JDBC编程知识点总结MySQL数据库JDBC编程知识点总结MySQL数据库JDBC编程知识点总结MySQL数据库JDBC编程知识点总结

    本篇文章给大家带来了关于mysql的相关知识,其中主要整理了jdbc编程知识点的相关问题,jdbc(java database connectivity,java数据库连接)是一种用于执行sql语句的java api,可以为多种关系数据库提供统一访问,它由一组用java语言编写的类和接口组成,下面一…

    2026年8月29日 用户投稿
    100
  • MySQL学习之聊聊InnoDB中锁的情况

    MySQL学习之聊聊InnoDB中锁的情况MySQL学习之聊聊InnoDB中锁的情况MySQL学习之聊聊InnoDB中锁的情况MySQL学习之聊聊InnoDB中锁的情况

    本篇文章带大家聊聊mysql,介绍一下innodb中锁的情况。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 mysql> select @@version;+———–+| @@version |+———–+| 5.7.21 |+———…

    2026年8月29日 用户投稿
    100
  • SpringBoot项目启动失败:DataSource配置缺失“url”属性是什么原因导致的?

    SpringBoot项目启动失败:DataSource缺少“url”属性 在使用Eclipse、SpringBoot和MyBatis构建项目时,许多开发者遇到启动失败,报错信息显示“failed to configure a datasource: ‘url’ attribu…

    2026年8月29日
    000
  • 浅析mysql设置最大连接数的两种方法

    浅析mysql设置最大连接数的两种方法浅析mysql设置最大连接数的两种方法浅析mysql设置最大连接数的两种方法浅析mysql设置最大连接数的两种方法

    mysql最大连接数怎么设置?下面本篇文章给大家介绍一下mysql设置最大连接数的两种方法,希望对大家有所帮助。 通常,mysql的最大连接数默认是100, 最大可以达到16384;如果我们想修改mysql的最大连接数,那要怎么设置?下面来看看。 方法一:命令行修改 我们只需要打开mysql的控制台…

    2026年8月29日 用户投稿
    300

发表回复

登录后才能评论
关注微信