首页 > 数据库 >MySQL 8.0 还能为你自动创建主键?!

MySQL 8.0 还能为你自动创建主键?!

时间:2022-12-19 16:00:40浏览次数:66  
标签:8.0 检查表 创建 MySQL sql 主键

MySQL 8.0.31版本引入了一个参数​​sql_generate_invisible_primary_key​​​,开启这个参数,会在建表时,检查表中是否有主键,如果没有主键,则会自动创建。该参数非常实用,减少了DBA对sql语句表结构的审计。

自动创建主键

l  参数名称:​​sql_generate_invisible_primary_key​​​

l  作用范围:Global & Session

l  动态修改:Yes

l  默认值:OFF

该参数设置为ON时,sql语句create table创建新表时,会检查表中是否包含主键,如果没有主键,则会自动创建。

如下所示:

MySQL 8.0 还能为你自动创建主键?!_MySQL

MySQL 8.0 还能为你自动创建主键?!_主键_02

注:隐式主键的列名只能是my_row_id

默认情况下,副本不会为任何在源上创建时没有主键的复制表生成主键。     在 MySQL 8.0.31 及更高版本中,您可以通过设置参数REQUIRE_TABLE_PRIMARY_KEY_CHECK = GENERATE的语句,来使副本为此类表生成不可见的主键。​​CHANGE REPLICATION SOURCE TO​

另外,也可以通过sqlops自动审核平台,检查表结构是否包含主键。

​https://github.com/hcymysql/sqlops​

MySQL 8.0 还能为你自动创建主键?!_主键_03

——摘自​​《MySQL运维进阶指南》​​一书扩展内容。

标签:8.0,检查表,创建,MySQL,sql,主键
From: https://blog.51cto.com/hcymysql/5952924

相关文章

  • 数据库文件导入报错"MySQL server has gone away"
    今天mysql从一个mysql库中导入另一个mariadb库中是总是报:ERROR2006(HY000)atline176infile:'xxx.sql':MySQLserverhasgoneaway但我是在当前服务器上导入的......
  • mysql查询当天所有数据sql语句
    mysql查询当天的所有信息:select*fromtestwhereyear(regdate)=year(now())andmonth(regdate)=month(now())andday(regdate)=day(now())这个有一些繁琐,还有简单的写......
  • MySQL用户管理
    1.查看用户及用户权限mysql中的用户信息和权限等都存储在一个名为mysql的数据库中。其中主要用到的是user、db、tables_priv、columns_priv、procs_priv这五张表,最重要的......
  • docker-compose入门以及部署SpringBoot+Vue+Redis+Mysql(前后端分离项目)以若依前后端
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662上面在搭建起来前后端分离版的项目后。......
  • MySQL笔记(一)之基础知识
    一、​​mysql​​数据类型​​mysql​​支持的所有的数据类型。1.1.字符串类型​​char(1)​​​是固定长度,我们设置长度是多少,只能输入多少。长度可以再​​0-255​​的......
  • MySQL系列之表和数据类型
    MySQL之表和数据类型一.查看数据库版本selectversion();二.数据库操作2.1.创建数据库createdatabaseifnotexiststest_dbdefaultcharsetutf8collateutf8_gener......
  • docker安装mysql8
    虽然有一种说法是最好不要用docker安装数据库,因为数据库出错后难搞,如果挂载了数据还需要占用双份存储空间等。但有时候还是想搞点新鲜玩意,比如想搞个nextcloud来玩玩,个人感......
  • [C++] VS Code 中导入MYSQL (包含使用gcc,g++)
    首先安装Gcc1.下载链接:https://sourceforge.net/projects/mingw-w64/files/备用网盘: https://pan.baidu.com/s/1trdQtDO6XqmfCbZHc1IDzQ?pwd=nwh5 2.添加环境变......
  • mysql索引之唯一索引
    特别说明:1、  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识;2、  本文许多示例及概念是基于Oracle数据库描述,对于其它关......
  • 自动备份mysql数据库 - shell脚本
     以下是自动备份mysql数据库的全过程:使用mysqldump程序连接到MySQL服务器。将指定的数据库存储到SQL文件。压缩SQL文件以节省空间。要使用此脚本,您需要修改脚本顶......