开发者社区> 问答> 正文

在OceanBase数据库中,OceanBase 企业版无主键表如何添加主键?

在OceanBase数据库中,OceanBase 企业版无主键表如何添加主键?是不能添加吗?

展开
收起
阿遇202411 2024-01-16 13:19:01 544 0
来自:OceanBase
2 条回答
写回答
取消 提交回答
  • 是的,可以参考下这个文档:https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699615。
    表如果没有建主键,ob会自动建个隐藏主键。
    此回答整理自钉群“[社区]技术答疑群OceanBase”。

    2024-01-17 07:43:09
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    OceanBase数据库确实支持主键表和无主键表。无主键表并不意味着不能添加主键,而是在创建表时没有指定主键的表,此时OceanBase数据库会采用一个自增的列作为隐藏主键。这个隐藏的主键的数据类型为BIGINT,最大值为2^64^。无主键表可以通过物理rowid的方式快速定位到行。

    如果您想给无主键表添加主键,可以使用ALTER TABLE命令来实现。具体的语法是:ALTER TABLE table_name ADD PRIMARY KEY (column_name)。例如,如果您想给表tbl1的列c1添加主键,可以执行以下命令:obclient > ALTER TABLE tbl1 ADD PRIMARY KEY(c1)。这条命令不会报错,并且会返回Query OK, 0 rows affected,表示命令已被正确执行。

    2024-01-16 14:34:43
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
开源HTAP OceanBase产品揭秘 立即下载
云数据库OceanBase 架构演进及在金融核心系统中的实践 立即下载
自研金融数据库OceanBase的创新之路 立即下载