首页
学习
活动
专区
工具
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数据类型以及字段属性大盘点

    Timstamp:和datetime的区别在于插入和更新会自动回去当前时间 l   Year:存储年份信息,有两位和4位之分 2、  数字数值类型 Bool是tinyint的别名,用于赋值0或者1 Bigint:数据类型提供了...mysql最大的整数范围,取值范围分为有符号:-9223372036854775808~9223372036854775807,无符号是0~18446744073709551615 Int:提供了第二大的整数范围...提供最小的二进制字符串存储最多255个字符 Tinytext:提供最小的非二进制字符串存储最多255个字符 Enum:枚举类型,最多可以有65535组不同的数据 Set:枚举类型,最多可以设置有64个成员 数据类型属性...这样该列就不允许插入null值 Null:同上面相反 Primary key:主键,该列不可空,不可重复 Unique:该列不允许存储相同的值 Zerofill:例如int长度为5那么存入1的时候会自动添加

    90280

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

    MySQL 大表数据添加字段 有时候我们在测试环境给一个表添加字段,但是在线上环境添加一个字段,却极其的慢。...原因是线上的数据库一般会存有大量的数据(百万级,千万级),基本的添加字段方式在线上数据库已经不太合适了。...添加 如果表较大 但是读写不是太大,且想尽量不影响原表的读写,可以用percona tools进行添加,相当于新建一张添加字段的新表,再将原表的数据复制到新表中,复制历史数据期间的数据也会同步至新表,...最后删除原表,将新表重命名为原表表名,实现字段添加 先在从库添加 再进行主从切换 如果一张表数据量大且是热表(读写特别频繁),则可以考虑先在从库添加,再进行主从切换,切换后再将其他几个节点上添加字段 将现有...MySQL版本5.7升级到8.0.12之后的版本 相关文章 Mysql事务 Mysql中的索引 Mysql通过binlog恢复数据

    10.5K30

    mysql字段主键_sql改变列数据类型

    MySQL数据类型 (1)数值类型 1、整数型 2、浮点型 3、定点型 (2)日期时间类型 (3)字符串类型 MySQL字段属性 1、空\不为空值:NULL、NOT NULL 2、主键:primary...存储文字,当字符大于255时,一般使用text; mediuntext L+3 中等长度文本数据 longtext L+4 极大文本数据 不要轻易的使用最大限度来存储字符串,因为涉及记录长度问题 : MySQL...: 字段属性是字段数据类型外的属性,一般有空\不为空值、主键、唯一键、自增长、默认值、描述等属性。...(不给这个字段插入数据的情况下) 自增长的前提是这个字段必须是一个“索引”,比如主键、唯一键 自增长的前提这个字段数据类型是一个数值型的,(如果给了float,也不会增长成小数,而仅仅是整数) 一个表只能有一个自增长...: 默认值:default 默认值的功能是当我们不给一个字段赋值的时候,使用默认值作为数据,比如不选择性别的时候,默认使用“保密”; 字段描述:comment 字段描述是用来描述字段的,能在查看数据表创建语句的时候显示出来

    2.5K20

    MySQL-存储引擎-创建表-字段数据类型-严格模式-字段约束-键-02

    ; insert into t1 values(1,'j'); # 正常存储 insert into t1 values(2,null); # 报错 # 总结 类型与约束条件区别 # 类型:限制字段必须以什么样的数据类型存储...在存储char 类型字段的时候,硬盘上确确实实存的是固定长度的数据,但是再取出来的那一瞬间mysql 会自动将填充的空格去除 ?...可以通过严格模式来修改该机制,让其不自动做去除处理 # 如果不想让mysql帮你做自动去除末尾空格的操作,需要再添加一个模式 set global sql_mode="strict_trans_tables...每次添加数据 不需要用户手动输入 auto_increment 自动递增 该约束条件只能加在被设置成 key 的字段上,不能单独使用,通常都是跟 primary key 联用 主键字段应该具备自动递增的特点...,只存整数,且范围变大 zerofill 给指定了宽度的数据类型的不足长度的字段不足部分用0填充 修改约束条件,不够8位用0填充(zerofill),会自动加上 unsigned alter table

    2.4K30

    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.2K40

    MySQL 字段操作

    看完本文,你能够优雅地设计一张有意义的表; 一、字段操作 1.添加字段 (add) alter table add 字段数据类型; desc ; 2.修改字段数据类型 (modify... ; #可用来修改字段数据类型 #也可以在修改数据类型添加默认值或其它约束条件 #可以在最后修改字段位置[first | after] 4 字段添加默认值...非空约束 (not null) 非空约束即字段的数据不能为空; CREATE TABLE (字段数据类型 NOT NULL); #修改数据类型时也可添加约束 2.默认约束(default)...为字段设置默认值 #创建表的时候,添加默认约束 CREATE TABLE (字段数据类型 default '默认值'); #删除默认约束 alter table alter 字段名...CREATE TABLE (字段数据类型 约束条件); #提示:修改数据类型时也可以添加约束哦 by~

    9.9K30
    领券