首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何为MySQL主键添加字段

如何为MySQL主键添加字段? 今天有个同事问了个不常见问题,就是修改主键字段,给既定主键添加一个字段应该用什么操作。...但实际情况是,业务使用业务字段做主键,而且要给这个主键加个字段,好在这张表数据量不多,这里我做了一个模拟 23:12:51> create table test( -> task_id int...这里我们主键是task_id字段,现在我们需求是将主键修改成task_id和aaa组合字段。...Incorrect table definition; there can be only one auto column and it must be defined as a key 看这个错误,很容易理解,在MYSQL...Query OK, 0 rows affected (0.18 sec) Records: 0 Duplicates: 0 Warnings: 0 在一个SQL里面,把主键drop掉,然后再重新添加一个主键

6.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL 8.0特性:隐藏字段

    上一篇介绍了MySQL8.0特性之隐藏索引《MySQL 8.0特性:隐藏索引》,这篇文章主要给大家介绍了关于MySQL 8.0特性之隐藏字段MySQL 8.0.23 版本增加了一个功能:隐藏字段...对于SELECT *查询,星号(*)代表了表中除隐藏字段之外所有字段,因此我们可以将字段定义为隐藏字段。该隐藏字段对于SELECT *查询是不可见,因此应用能够继续运行。...如果使用CREATE TABLE … LIKE语句复制表结构,将会复制原表中隐藏字段,而且它们在表中仍然是隐藏字段。...如果使用CREATE TABLE … SELECT语句复制表,不会包含隐藏字段,除非显式指定了隐藏字段。 尽管如此,即使包含了原表中隐藏字段表中这些字段将会变成可见字段。...准确来说,如果某个数据行和已有数据行唯一键字段值相同,无论索引字段是否可见,都会使用以下处理方式: 如果指定了 IGNORE 修饰符,INSERT、LOAD DATA 以及 LOAD XML 都会忽略数据行

    1.6K10

    【问答】MySQL如何给字段添加注释

    下面的命令行或则图形界面均在软件Navicat中运行 MySQL 测试版本: 5.5.39 问:MySQL如何给字段添加注释?...答:给MySQL字段添加注释有两种方式 ① 创建表时候添加 create table student( s_no int not null comment '学号', s_name varchar...(100) comment '姓名' ) comment = '学生' 如上面的创建表语句,字段 s_no 和 s_name 后面通过关键字 comment 来给对应字段添加注释。...comment 关键字后面用单引号括起来就是你需要给这个字段添加注释。...② 当你已经创建好表了,但是发现忘记注释或者注释内容需要改变时候,你可以通过以下命令去更改 student 表 s_name 字段注释 alter table student modify

    7.9K10

    MySql数据库大表添加字段方法

    第二 临时表方法 思路如下: ① 创建一个临时表,首先复制旧表结构(包含索引) create table new_table like old_table; ② 给表加上新增字段,注意,此时新表是空表...,重命名名字为旧表名字 不过这里需要注意,执行第三步时候,可能这个过程也需要时间,这个时候有数据进来,所以原来表如果有字段记录了数据写入时间就最好了,可以找到执行这一步操作之后数据,...它可以在线修改表结构 原理: 首先它会新建一张一模一样表,表名一般是_为前缀_new后缀,例如原表为t_user 临时表就是_t_user_new 然后在这个表执行更改字段操作 然后在原表上加三个触发器...地址 P=3306 连接mysql端口号 D= 连接mysql库名 t= 连接mysql表名 –alter 修改表结构语句...chmod +x pt.sh 3.添加字段添加字段SQL语句为: ALTER TABLE `tb_test` ADD COLUMN `column1`tinyint(4) DEFAULT NULL

    25.4K45

    Mysql千万级大表添加字段锁表?

    MySQL 大表数据添加字段 有时候我们在测试环境给一个表添加字段,但是在线上环境添加一个字段,却极其慢。...,导致表数据流失不完整 总结 生产环境MySQL添加或修改字段主要通过如下四种方式进行,实际使用中还有很多注意事项 直接添加 如果该表读写不频繁,数据量较小(通常1G以内或百万以内),直接添加即可(可以了解一下...online ddl知识) 使用pt_osc添加 如果表较大 但是读写不是太大,且想尽量不影响原表读写,可以用percona tools进行添加,相当于新建一张添加字段表,再将原表数据复制到表中...,复制历史数据期间数据也会同步至表,最后删除原表,将表重命名为原表表名,实现字段添加 先在从库添加 再进行主从切换 如果一张表数据量大且是热表(读写特别频繁),则可以考虑先在从库添加,再进行主从切换...,切换后再将其他几个节点上添加字段 将现有MySQL版本5.7升级到8.0.12之后版本 相关文章 Mysql事务 Mysql索引 Mysql通过binlog恢复数据

    10.5K30

    mysql添加表注释、字段注释、查看与修改注释

    1 创建表时候写注释 create table test1 ( field_name int comment ‘字段注释’ )comment=’表注释’; 2 修改表注释 alter...table test1 comment ‘修改后注释’; 3 修改字段注释 alter table test1 modify column field_name int comment ‘...修改后字段注释’; –注意:字段名和字段类型照写就行 4 查看表注释方法 –在生成SQL语句中看 show create table test1; –在元数据表里面看 use information_schema...; select * from TABLES where TABLE_SCHEMA=’my_db’ and TABLE_NAME=’test1′ \G 5 查看字段注释方法 –show show...full columns from test1; –在元数据表里面看 select * from COLUMNS where TABLE_SCHEMA=’my_db’ and TABLE_NAME

    7.6K40

    MySQL字段类型_mysql数据库字段类型

    大家好,又见面了,我是你们朋友全栈君。 前言: 要了解一个数据库,我们必须了解其支持数据类型。MySQL 支持大量字段类型,其中常用也有很多。...DECIMAL 从 MySQL 5.1 引入,列声明语法是 DECIMAL(M,D) 。...2.字符串类型 字符串类型也经常用到,常用几个类型如下表: 其中 char 和 varchar 是最常用到。char 类型是定长MySQL 总是根据定义字符串长度分配足够空间。...3.日期时间类型 MySQL支持日期和时间类型有 YEAR 、TIME 、DATE 、DATETIME 、TIMESTAMP,几种类型比较如下: 涉及到日期和时间字段类型选择时,根据存储需求选择合适类型即可...总结: 本篇文章主要介绍了 MySQL 中常用字段类型,平时用到字段类型基本都在这里了,以一张思维导图总结如下: 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    19.5K10

    mysql密码字段类型_MySQL 字段类型

    万一我们需要对一个字段存储一个超出许可范围数字,MySQL 会根据允许范围最接近它一端截短后再进行存储。还有一个比较特别的地方是,MySQL 会在不合规定值插入表前自动修改为 0。...unsigned 和 zerofill UNSIGNED 修饰符规定字段只保存正值,即无符号,而mysql字段默认是有符号。...如果我们对 TIMESTAMP 类型字段没有明确赋值,或是被赋与了 null 值。MySQL 会自动使用系统当前日期和时间来填充它。...在处理相互排拆数据时容易让人理解,比如人类性别。ENUM 类型字段可以从集合中取得一个值或使用 null 值,除此之外输入将会使 MySQL 在这个字段中插入一个空字符串。...如果数据经常被执行更新操作,由于VARCHAR是根据内容来进行储存,所以mysql将做更多工作来完成更新操作,如果数据长度大于老数据长度一些存储引擎会进行拆分操作处理。

    14.4K20

    Hive修改字段类型_hive表添加字段sql

    hive修改字段类型语句:alter table 表名 change column 原字段名 新字段字段类型; alter table user_chain change column u_register...总结为: 1、我们能够修改整型字段为double类型字段,因为double类型能够承载整型数据, 但是我们修改double类型字段为整型字段会有问题,因为整型字段不能够满足double数据 2、任何类型基本都可以转为字符串...,任何double、float、int类型数据都可以作为字符串处理 3、数据类型转换为转换后数据不会截断原来数据 如果只想改变列类型而不关心数据准确性,可以设置set hive.metastore.disallow.incompatible.col.type.changes...=false; 新增字段表 alter table 表名 add columns(字段名 数据类型) 修改表字段顺序 ALTER TABLE t1 CHANGE column student student...varchar(20) comment ‘学生姓名’ AFTER class; 这种修改做法不建议用,只是逻辑上修改了字段,物理上并没有变化,对特定情况下表有一定影响 版权声明:本文内容由互联网用户自发贡献

    6.3K40

    MySQLjson字段

    // MySQLjson字段 // MySQL5.7.8中引入了json字段,这种类型字段使用频率比较低,但是在实际操作中,有些业务仍然在用,我们以此为例,介绍下json字段操作方法...,info是json字段,插入了三条数据,如上: mysql> select * from test1 where json_extract(info,"$.age")>=30; +------+---...其中: 1、$符号代表是json根目录, 2、我们使用$.age相当于取出来了json中age字段, 3、当然,在函数最前面,应该写上字段名字info 下面来看json中常用函数: a、json_valid...判断是否是json字段,如果是,返回1,如果不是,返回0 mysql> select json_valid(2); +---------------+ | json_valid(2) | +------...,如果传入了字符串2,那么,返回结果是1 b、json_keys传回执行json字段最上一层key值 mysql> select json_keys('{"name":"yeyz","score":100

    9K20

    MySQL修改表字段

    MySQL修改表字段 MySQL 修改表字段方法有两种: ALTER TABLE MODIFY COLUMN。...其语法如下: ALTER TABLE 表名 MODIFY COLUMN 字段字段类型; 其中,表名 表示要修改表名,字段名 表示要修改字段名,字段类型 表示修改后字段类型。...其语法如下: ALTER TABLE 表名 MODIFY COLUMN 字段字段类型 [属性]; 其中,表名 表示要修改表名,字段名 表示要修改字段名,字段类型 表示修改后字段类型,属性 表示修改后字段属性...0; 需要注意是,如果修改表字段数据类型或长度,可能会造成数据丢失或者修改失败。...因此,在进行字段类型修改时,需要先备份数据,避免出现意外情况。

    5.4K10

    Mysql Explain主要字段

    当联合主键或唯一索引所有字段跟常量值比较时,join类型为const。其他数据库也叫做唯一索引扫描 3、eq_ref 多表join时,对于来自前面表每一行,在当前表中只能找到一行。...这可能是除了system和const之外最好类型。 当主键或唯一非NULL索引所有字段都被用作join联接时会使用此类型。 eq_r ef可用于使用’='操作符作比较索引列。...比较值可以是常量,也可以是使用在此表之前读取表达式。 相对于下面的ref区别就是它使用唯一索引,即主键或唯一索引,而ref使用是非唯一索引或者普通索引。...要注意,全文索引优先级很高,若全文索引和普通索引同时存在时,mysql不管代价,优先选择使用全文索引 6、ref_or_null 跟ref类型类似,只是增加了null值比较。实际用不多。...Extra 字段显示, 常见有以下几种内容: distinct:在select部分使用了distinc关键字 Using filesort:当 Extra 中有 Using filesort

    1.4K20
    领券