`

mysql-给没有主键的表添加主键步逐

阅读更多

一、知识点,类似rownum的查询语句

SELECT @rownum:=@rownum+1 rownum,s.* FROM (SELECT @rownum:=0) r,t_deal_sum s

 

1、创建表

CREATE TABLE `t_deal_sum` (
 `sp_id` varchar(20) DEFAULT NULL,
 `sp_code` varchar(20) DEFAULT NULL,
 `sp_name` varchar(100) DEFAULT NULL,
 `user_id` varchar(20) DEFAULT NULL,
 `user_name` varchar(100) DEFAULT NULL,
 `create_time` datetime DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

2、插入数据(略)

 

3、添加字段:Fid

ALTER TABLE t_deal_sum ADD Fid BIGINT;

 

4、插入数据

INSERT INTO t_deal_sum (
Fid,
sp_id,
sp_code,
sp_name,
user_id,
user_name,
create_time
) 
SELECT @rownum:=@rownum+1 Fid,
sp_id,
sp_code,
sp_name,
user_id,
user_name,
create_time 
FROM (SELECT @rownum:=0) r,t_deal_sum s

 

5、删除Fid为空的数据

DELETE FROM t_deal_sum WHERE Fid IS NULL

 

6、将Fid字段设置为主键

ALTER TABLE `t_deal_sum` ADD PRIMARY KEY(`Fid`);

 

7、将Fid转化为自增列

ALTER TABLE `t_deal_sum` CHANGE `Fid` `Fid` BIGINT NOT NULL AUTO_INCREMENT;

 

分享到:
评论

相关推荐

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    04-回顾MySQL主从复制配置步骤及注意事项.avi 05-回顾MySQL主从复制原理要点.avi 06-企业场景MySQL主从复制最牛部署方案.avi 07-一键获取全备及binlog位置多种方案讲解.avi 08-不停主库一键批量配置MySQL主从复制...

    实验六--MySQL数据库系统的管理与维护.doc

    # 五、实验内容及步骤 1、在客户端以adminroot用户登录数据库服务器 #mysql -h 数据库服务器的IP地址 -u adminroot -p 输入密码: mysql> 出现mysql提示符,说明登录数据库服务器成功。 建立如下用户并授予相应的...

    (Navicat for MySQL)利用可视化软件navicat操作mysql,创建一个表举例(基础)

    以此类推:我们可以设置多行,如下图,编写完成后,我们就可以保存了,然后再给表起一个名字,比如我的叫person。 回到主页之后就可以点开刚刚创建的表了 我们再输入进去保存就可以了,如下图

    MySQL在项目源码设计中发挥了什么作用?实例分析步骤过程.docx

    MySQL在项目源码设计中发挥了什么作用?...MySQL为用户提供了多种数据类型,如整数、字符串、日期等,并且还支持索引、主键、外键等约束条件,以保证数据的完整性和一致性。MySQL的设计非常灵活,用户可以根据

    MySQL 基础 - 约束概述与演示.md

    通过这份文档,您学习并了解了MySQL数据库中常用的约束类型:主键约束、外键约束、唯一约束和检查约束。每个约束类型都通过示例代码展示了其作用和使用方法,帮助您更好地理解和运用这些约束。 这些约束能够保证...

    mysql面试题100题,包含答案和解析.docx

    mysql面试题,包含总共100题,并且附带详细答案和解析,部分面试题如下: 1、MySQL 索引使用有哪些注意事项呢? 2、MySQL 遇到过死锁问题吗,你是如何解决的? 3、日常工作中你是怎么优化SQL的? 4、InnoDB与MyISAM...

    MySQL异常恢复之无主键情况下innodb数据恢复的方法

    主要介绍了MySQL异常恢复之无主键情况下innodb数据恢复的方法,结合实例形式分析了针对innodb引擎无主键的情况下恢复数据的步骤与相关技巧,需要的朋友可以参考下

    MySQL 8.0 实战教程从入门到项目实战.docx

    基本步骤和示例: 1. 需求分析 确定博客系统的基本功能,例如用户管理、文章发布、评论、分类和标签等。 2. 数据库设计原则 一致性:确保数据的一致性和完整性。 可扩展性:设计时考虑未来可能的功能扩展。 ...

    北京邮电大学 BUPT 数据库课程 实验一 查询代码 数据库语言MySQL

    3、实现数据完整性(创建表时根据关系确定主键和外键) (1)学生表(2)班级表(3)创建课程表(4)创建教师表(5)创建院系表 (6)创建选课表(7)创建授课表 4、插入,修改和删除数据练习 向sclass表中插入数据 向student表...

    MySQL InnoDB row_id边界溢出验证的方法步骤

    InnoDB表若没有定义主键,会使用系统的一个默认递增row_id (dict_sys->row_id)作为主键。每次插入一行加1,到达最大值循环复用。 需要注意的是,虽然dict_sys->row_id 被定义为一个unsigned long long, 但由于这个...

    数据库详解课件(包含上机步骤图)

    本课件能详细介绍数据库系统,以及主键 外键的详解,并附有实际上机操作步骤图,很适合初级学者。

    MySQL数据库管理+表格创建+表格结构+数据建模

    它涵盖了如何定义表格的结构、设置主键、添加默认值和创建索引等内容。 适用人群: 这个资源适用于数据库管理、SQL查询和数据建模领域的学习者和专业人士。无论是初学者还是有经验的数据库管理员,都可以从中获益。...

    MYSQL双向热备实战

    通过实战介绍mysql5双机热备的部署步骤。包括单向热备与双向热备,热备中的常见问题解决方案, 比如主键冲突、涉及函数的部署等。

    MYSQL中获取得最后一条记录的语句

    在MySQL中,使用auto_increment类型的id字段作为表的主键,并用它作为其他表的外键,形成“主从表结构”,这是数据库设计中常见的用法。但是在具体生成id的时候,我们的操作顺序一般是:先在主表中插入记录,然后...

    MySQL外键使用详解

    最近有开始做一个实验室管理系统,因为分了几个表进行存储·所以要维护表间的关联··研究了一下MySQL的外键。 (1)只有InnoDB类型的表才可以使用外键,mysql默认是MyISAM,这种类型不支持外键约束 (2)外键的好处...

    Mysql使用简单教程(三)

    在上篇文章给大家介绍了mysql使用简单教程(二) mysql中结构相同的两个表进行合并:(注意需要两个表的结构是一样的) 有如下结构的两个表father和person。 合并的步骤为: 1.把person表和father表两个表进行联合...

    解析MySQL设置当前时间为默认值的方法

    MySQL设置当前时间为默认值的问题我们经常会遇到,下面就为您介绍MySQL设置当前时间为默认值的实现全步骤,希望对您能有所启迪。数据库:test_db1创建表:test_ta1两个字段:id (自增 且为主键),createtime 创建...

    MySQL详解视频.zip

    oMySql内部组件设计结构 MySql内部组件详解 连接器详解 分析器详解 优化器详解 执行器详解 BinLog详解 数据删除恢复 o深入理解MySql索引底层数据结构与算法 数据结构角度 B+树索引 o索引查找...

    常用SQL 语句大全

    7、添加和删除主键 8、索引 9、视图 10、几个简单的基本的sql语句 11、几个高级查询运算词 12、使用外连接 13、分组:Group by: 14、对数据库进行操作: 15.如何修改数据库的名称: 第二部分、 提升 1、复制...

Global site tag (gtag.js) - Google Analytics