如何修改mysql数据表主键

 更新时间:2023年07月14日 09:47:18   作者:西直门三太子  
这篇文章主要介绍了如何修改mysql数据表主键问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

修改mysql数据表主键

这里以网上copy的建表语句为例

create table users
(
    name      varchar(50)                         null,
    salt      char(4)                             null comment '盐',
    password  varchar(255)                        null comment '密码',
    create_at timestamp default CURRENT_TIMESTAMP null comment '创建时间',
    update_at timestamp default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP comment '修改时间',
    tid       int unsigned auto_increment
        primary key
)
    charset = utf8;

mysql的版本是8,这里要把主键tid改为id。需改自增主键需要三步骤

先删除掉自增

alter table  users modify tid int not null;

再删除主键

alter table  users drop primary key;

修改名称

alter table  users change tid id int unsigned auto_increment primary key;

mysql表的修改---主键等各种约束

1、添加字段

alter table 表名 add column 字段 字段类型 约束

2、更改原表字段名,同时可以更改字段类型,长度,约束

alter table 表名 change 旧字段 新字段 字段 字段类型 约束

3、更改字段类型,长度,约束

alter table 表名 modify 字段 字段类型 约束

4、删除字段

alter table 表名 drop 字段名

5、增加主键,可以增加联合主键

alter table 表名 add primary key(字段名1,字段名2)

6、删除主键

alter table 表名 drop primary key

7、增加外键

alter table 表名 add constraint 约束名 foreign key 表名(字段名1,字段名2) references 关联表(字段名1,字段名2)

8、删除外键

alter table 表名 drop foreign key 外键名

9、修改表名称

alter table 表名 rename to 新表名

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL索引数据结构入门详细教程

    MySQL索引数据结构入门详细教程

    这篇文章主要为大家介绍了MySQL索引数据结构入门详细教程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • MySQL教程子查询示例详解

    MySQL教程子查询示例详解

    这篇文章主要为大家介绍了MySQL教程中子查询的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-10-10
  • mysql 某字段插入随机数(插入随机数到MySQL数据库)

    mysql 某字段插入随机数(插入随机数到MySQL数据库)

    这篇文章主要介绍了mysql 某字段插入随机数(插入随机数到MySQL数据库),需要的朋友可以参考下
    2016-09-09
  • MySQL9.0更新了哪些特性

    MySQL9.0更新了哪些特性

    MySQL 9.0作为MySQL数据库管理系统的一个重要更新版本,带来了多项新特性和改进,下面我们就一起来看看更新了哪些特性,感兴趣的可以了解一下
    2024-08-08
  • MySql中 is Null段判断无效和IFNULL()失效的解决方案

    MySql中 is Null段判断无效和IFNULL()失效的解决方案

    这篇文章主要介绍了MySql中 is Null段判断无效和IFNULL()失效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • mysql中InnoDB事务隔离的记录锁、间隙锁和临键锁

    mysql中InnoDB事务隔离的记录锁、间隙锁和临键锁

    mysql中InnoDB默认的事务隔离级别为可重复读(Repeated Read, RR),我们当下的所有介绍都是基于这个隔离级别为前提的,记录锁锁定索引关联的具体记录,间隙锁锁定间隔,防止间隔中被其他事务插入,临键锁锁定索引记录+间隔,防止幻读
    2023-12-12
  • MySQL 读写分离实例详解

    MySQL 读写分离实例详解

    这篇文章主要介绍了MySQL 读写分离实例详解的相关资料,这里对读写MySQL分离进行了简单介绍,并附实例代码,需要的朋友可以参考下
    2016-11-11
  • MySQL中distinct和group by去重的区别解析

    MySQL中distinct和group by去重的区别解析

    在MySQL中,我们经常需要对查询结果进行去重,而DISTINCT和GROUP BY是实现这一功能的两种常见方法,这篇文章主要介绍了MySQL中distinct和group by去重的区别,需要的朋友可以参考下
    2025-01-01
  • mysql decimal类型判断是否为0

    mysql decimal类型判断是否为0

    在MySQL中,DECIMAL是一种用于存储精确小数的数据类型,本文主要介绍了mysql decimal类型判断是否为0,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • MySQL长连接短连接面试精讲

    MySQL长连接短连接面试精讲

    这篇文章主要为大家介绍了MySQL长连接短连接面试精讲,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10

最新评论