`

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;

 

分享到:
评论

相关推荐

    MySQL数据库分表批量主键查询代理-mysql-partitions-proxy.zip

    mysql-partitions-proxy项目就是为了解决这个问题,它充当了一个中间层,接收客户端的批量主键查询请求,然后智能地分配到对应的分片上执行,并将结果汇总返回给客户端。这样做的好处是减少了直接对数据库的访问次数...

    mysql-connector-c

    MySQL Connector/C是MySQL数据库系统的一款C语言接口,它允许Python程序通过C语言编写的库来与MySQL数据库进行交互。在Python环境中,我们通常使用的是`mysql-connector-python`库,但有时可能会遇到问题,比如连接...

    mysql实现char类型主键自增长

    在MySQL数据库管理中,自增长主键是一种常见的设计模式,主要用于自动为每一行记录生成一个唯一的标识符。然而,这种自增长通常与整型数据类型(如INT)关联,而较少见于字符型数据(如CHAR)。本文将深入探讨如何在...

    Navicat-for-MySQL--master.zip

    - **表设计**:设计数据库表结构,包括字段名、数据类型、长度、是否允许为空等属性设置,还可以设置主键和外键,实现数据的关联。 - **数据操作**:提供数据浏览、添加、修改、删除功能,支持批处理操作,大大...

    MySql-front3.2

    2. 表结构设计:在MySQL-Front中,你可以直接创建表,定义字段类型、长度、默认值、允许空值以及主键等属性。还可以设置外键,实现表间的数据关联。 3. 数据操作:提供插入、编辑、删除数据的功能,支持批量操作,...

    mysql-connector-odbc-5.3.8-win32(从mysql5.0生成数据库的物理模型)

    这个安装程序会添加必要的 ODBC 驱动到你的系统,使得 PowerDesigner 能够识别并连接到 MySQL 数据库。安装完成后,你可以在 PowerDesigner 中配置一个新的数据源(DSN,Data Source Name),选择 ODBC 连接类型,并...

    MySQL-Front_Setup 6.1

    - **表设计**:可以创建新表,定义字段、数据类型、主键、索引等属性。 - **视图创建**:用户可以创建视图,对数据进行定制化的查看和操作。 - **存储过程与函数**:提供存储过程和函数的创建、编辑和执行功能。 ...

    MySql图形工具(mysql-gui-tools-5.0)

    在描述中提到的问题,即在已有数据的表中添加一个主键ID,通常在命令行界面操作可能需要额外的步骤,比如先清空数据,然后修改表结构,最后再重新导入数据。而MySQL图形工具提供了一个更直观且易于操作的方式。它...

    MySQL数据表添加字段

    在MySQL数据库管理中,添加字段是一项常见的操作,用于在已有的数据表中增加新的列来扩展数据表的结构。这通常发生在数据需求发生变化或者需要记录更多相关信息时。本篇文章将详细探讨如何在MySQL中添加字段,以及...

    MySQL-Front.zip

    这款软件能够帮助数据库管理员和开发者方便地创建、编辑和管理MySQL数据库的表结构,以及执行SQL查询。MySQL-Front的使用通常包括以下几个核心知识点: 1. **数据库设计**:MySQL-Front允许用户通过图形化方式设计...

    MySQL-Front.rar

    MySQL-Front是一款基于图形用户界面(GUI)的MySQL数据库管理工具,它为用户提供了直观、易用的界面来执行常见的数据库操作,如创建、编辑、查看数据库表,以及执行SQL查询。这款软件使得非程序员或者对命令行不熟悉...

    MySQl-Workbench使用教程

    - **步骤二:** 从 ORDER 表拖动 ORDER_NO 到 SALES_ORDER 表,建立主键与外键之间的关联。 - **步骤三:** 同样地,建立 ORDER 与 PURCHASE_ORDER 表之间的关系。 - **步骤四:** 完成关系建立后,可以检查模型...

    mysql-oracle数据同步

    2. 在Oracle中创建与MySQL主键类型匹配的列和序列。 3. 编写脚本或程序,读取MySQL数据,根据MySQL的主键值生成Oracle的序列号。 4. 插入数据到Oracle,并确保主键值的连续性。 总的来说,MySQL到Oracle的数据同步...

    mysql-8.0.22-winx64.zip

    它的关系型数据库模型基于表格,每个数据库由多个表组成,表之间可以通过键(主键和外键)建立关联。 MySQL 8.0.22引入了许多新特性,旨在提升性能、安全性和易用性。例如,增强的JSON支持使得非结构化数据处理更加...

    Python3 操作 MySQL 插入一条数据并返回主键 id的实例

    在Python3中操作MySQL数据库并插入一条数据,然后获取并返回这条...通过上述步骤,可以完整地实现使用Python3插入MySQL数据库数据并获取插入数据的主键id的功能,这对于数据库编程和数据管理都是非常重要的操作技能。

    MySQL-Front

    MySQL-Front是一款强大的MySQL数据库管理工具,专为简化MySQL数据库的交互操作而设计。它提供了一个用户友好的图形界面,使得数据库管理员和开发者能够轻松地进行数据查询、编辑、管理和备份等工作,而无需深入理解...

    MySQL-to-MSSQL

    MySQL-to-MSSQL是一个专门设计用于将MySQL数据库转换为Microsoft SQL Server格式的工具。这个程序旨在帮助用户在不同数据库系统间进行数据迁移,确保数据在转换过程中能够保持完整性和一致性。下面将详细介绍这个...

    mysql-5.7.28-macos10.14-x86_64.dmg

    - **表结构设计**:理解数据类型、索引、主键和外键的概念,以及如何创建和修改表结构。 - **事务处理**:了解ACID属性,理解事务的开始、提交、回滚以及隔离级别。 - **备份与恢复**:学习如何使用mysqldump进行...

    CentOS安装Mysql_Cluster集群

    - 表必须包含主键。 - 用户权限表使用MYISAM存储引擎,需在每个SQL节点上单独创建用户。 #### 八、集群维护 - **关闭集群**: 先关闭管理节点,再关闭SQL节点和数据节点。 - **集群启动操作顺序**: - 启动管理...

Global site tag (gtag.js) - Google Analytics