开发者社区> 问答> 正文

【RDS】云数据库 RDS MySQL 版如何为无主键表添加主键?

已解决

云数据库 RDS MySQL 版如何为无主键表添加主键?

展开
收起
云上猫猫 2022-01-14 11:36:58 1115 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    1、执行如下SQL语句,查看是否有主键。

    select table_schema,
           table_name
    from information_schema.tables
    where (table_schema,
           table_name) not in
        (select distinct table_schema,
                         table_name
         from information_schema.columns
         where COLUMN_KEY='PRI' )
      and table_schema not in ('sys',
                               'mysql',
                               'information_schema',
                               'performance_schema');
    

    系统显示类似如下。 156473669254218_zh-CN.png

    2、执行如下SQL语句,查看参数implicit_primary_key的值是否为ON。

    show global variables like 'implicit_primary_key';

    系统显示类似如下。

    156473669254222_zh-CN.png

    说明:如果查询没有该参数或值为OFF,请您提交工单进行修改。

    3、执行如下SQL语句,修改无主键表。

    alter table [$Table_Name] engine=innodb;

    说明:

    • [$Table_Name]为表名。

    • 执行过程中会禁止数据写入表,但是仍然可以读取。

    • 当implicit_primary_key为ON时,修改表的引擎会自动添加隐式主键。

    4、执行如下SQL语句,为无主键表添加主键。

    ALTER TABLE [$Table_Name] ADD PRIMARY KEY ([$Type_Name]);

    注:[$Type_Name]为需要添加的主键名。

    2022-01-14 11:39:13
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像