在OceanBase数据库中,OceanBase 企业版无主键表如何添加主键?是不能添加吗?
是的,可以参考下这个文档:https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699615。
表如果没有建主键,ob会自动建个隐藏主键。
此回答整理自钉群“[社区]技术答疑群OceanBase”。
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,表示命令已被正确执行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。