这是笔者在实际工作过程中遇到的问题。
背景:
由于一些原因,导致以前的数据库中的一些表是没有主键的,这样在主库执行批量删除和更新时,备库无法追上主库

那么,以前留下来的表需要重新建立主键,但是这里可能会遇到一些表,你无法选出一些字段组合,作为主键。那么这时该怎么办?

一般出现这种情况,首先你需要考虑:该数据表是否是分区表?

怎么查看是分区表还是非分区表:

语法:

SHOW CREATE TABLE 表名;

该语法可以看到建表语句,通过建表语句你可以很直观的看到是否为分区表,且分区字段是什么。

那么,回到原来的问题:如何为已建的数据表建立主键?这里就分为两种情况:分区表和非分区表。

因为,分区表的分区字段必须包含在主键内

1 非分区表

新增主键自增长id

语法:以数据库表为test_table为列

alter table test_table add id BIGINT(30);
alter table test_table change id id BIGINT(30) not null AUTO_INCREMENT PRIMARY KEY;

2 分区表

新增主键自增长id

语法:以数据库表为partition_table为列,该分区表的分区字段为:Day

alter table partition_table add id BIGINT(30) not null auto_increment ,add primary key(id,`Day`);

无主键mysql表创建主键相关推荐

  1. Oracle中用一个序列给两个表创建主键自增功能的后果

    前几天在创建数据表时,想偷个懒,使用一个序列给两个表创建主键自增功能,结果...... 情景: 为宠物中心创建一个简单的数据库,要求如下: 1.创建一个主人表,字段:主人编号,主人姓名,主人性别,主人 ...

  2. oracle建表的时候同时创建主键,外键,注释,约束,索引

    --主键 create table emp (id number constraint id_pr primary key ,name1 varchar(8)); create table emp9 ...

  3. 数据库基本操作(创建主键、外键以及索引)

    ​ 图书馆学习没有多大干劲了,数据库又快考试了根据考试内容写总结.老师回放已过期不得不自己来尝试 心酸! 需要按照要求给表创建主键.创建索引,创建外键(并设置删除和更新规则) 一.创建主键 ​ 自己创 ...

  4. oracle创建主键sql语句,Oracle创建主键自增表(sql语句实现)及触发器应用

    Oracle创建主键自增表(sql语句实现)及触发器应用 1.创建表 复制代码 代码如下: createtableTest_Increase( useridnumber(10)NOTNULLprima ...

  5. MySQL添加列、删除列,创建主键等常用操作总结

    MySQL添加列.删除列,创建主键等常用操作总结 一. 列常用操作 ① 添加新的一列test_column,并将其作为主键,FIRST将其放在表中第一行,auto_increement是自动增长 al ...

  6. mysql添加列、删除列,创建主键、备份等常用操作总结

    mysql添加列.删除列,创建主键.备份等常用操作总结 一. 列常用操作 ① 添加新的一列test_column,并将其作为主键,FIRST将其放在表中第一行,auto_increement是自动增长 ...

  7. mysql教程 主键_MySQL创建主键

    MySQL InnoDB 存储引擎是必须要有一个主键的,主键可以是一个字段或者多个字段,通常建议:主键就一个.主键字段和业务无关.主键字段最好是自增且字段较小(原因:索引原理). 创建主键的三种方式: ...

  8. SQL2K数据库开发八之表操作创建主键

    1.使用Transact-SQL语句在表中创建主键时,可以在创建表的语句中定义列时使用如下语法: 2.在查询分析器中输入如下的语句,可以创建一个表Suppliers,该表中的SupplierID列被定 ...

  9. mysql创建主键约束_mysql添加主键约束

    主键约束:唯一,不重复,不能为空  primary key 一个表中有且只有一个主键约束 1.创建表的同时创建主键约束 格式一: create table 表名( 列名1  数据类型 primary ...

最新文章

  1. Java条形码生成技术-Barcode4j
  2. JAVA-retry 重试
  3. 深入理解傅立叶变换(详细)
  4. 头条的_signature这个如何_今日头条详细页面的cookie加密
  5. 几行VB代码拿下注册表
  6. 初中地理知识大盘点《地理青花瓷》
  7. 火狐firebug,firepath以及Selenium IDE插件安装方法
  8. 嵌入式软件开发笔试面试知识点总结-ARM部分
  9. Python爬虫下载QQ音乐网站歌曲
  10. python字符串的内部函数_「Python」字符串操作内置函数
  11. 彩色图像处理(matlab)
  12. 解决pygame中按键连续按下的问题
  13. 前端的工程化、模块化和组件化
  14. IBM 华为等薪资福利规定
  15. d21包,d21库,d21类 Python
  16. 完美恢复Word文档,丢失、乱码和受损三大症状不再是难题
  17. 吉林大学计算机学院男女,最狠盘点:39所985大学男女比例排行,23名开外请自备女票入学...
  18. 空白符号筛选测试真正能用的空白格符号直接复制即可
  19. 简单的手写jquery轮播图(包含切换按钮、小圆点)
  20. 假设有两名囚徒a和b python_囚徒问题(100 prisoners problem)的python验证

热门文章

  1. python爬取支付宝基金数据_python爬取支付宝账单
  2. 专访Dan Kohn:阡陌交迭,云原生布局开源生态构建及深度应用
  3. 噪音消除小技巧--噪音匹配
  4. 90个外国英文网站强力推荐
  5. Pygame实战之外星人入侵NO.9——消灭外星人
  6. 联想M490 开机U盘启动 快捷键
  7. COERCE_DOUBLE的含义
  8. 轨道运营管理专业自荐书_城市轨道交通运营管理专业职业规划(1)
  9. 基于ARMv8的固件系统架构
  10. android扇形动画弹出icon的功能