开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

PolarDB-X中,这个问题谁能帮忙看一下?

PolarDB-X中,pxd tryout安装的最新版本数据库PolarDB-X,建好了数据库,再建了一张自增主键的表,插入一条不含主键数据的记录,结果主键为null,这个问题谁能帮忙看一下?image.png
image.png

展开
收起
LLLA 2024-01-24 02:50:32 50 0
2 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在PolarDB-X中,如果您在插入数据时没有为主键列提供值,或者提供的值为0或NULL,PolarDB-X会自动为该自增主键列分配一个全局唯一的值。因此,当您插入一条不含主键数据的记录时,主键不应该为NULL,而是由系统自动生成一个值。

    如果在实际使用中遇到了主键为NULL的情况,可能是由以下几个原因造成的:

    1. 插入语句的问题:请确保您的INSERT语句是正确的,并且没有为主键列显式指定NULL或0值。如果您的INSERT语句确实没有包含自增列的值,那么PolarDB-X应该会正常工作,自动为主键分配一个值。
    2. 数据库模式问题:根据PolarDB-X的文档,AUTO模式下的数据库仅支持关联New Sequence,而在DRDS模式下,单表默认不关联Sequence,除非显式指定类型。请检查您的数据库模式设置,确保它们符合您的需求。
    3. 表结构问题:如果新创建的表不包含主键,PolarDB-X的行为可能会有所不同。请确保您的表结构正确定义了自增主键。
    4. 系统错误或Bug:如果以上情况都排除了,那么可能是PolarDB-X系统的一个问题或者是遇到了Bug。这种情况下,建议联系PolarDB-X的技术支持团队进行进一步的排查和解决。

    总的来说,为了解决这个问题,您可以再次检查您的INSERT语句和表结构,确保它们都是正确的。如果问题依旧存在,可以联系PolarDB-X的技术支持寻求帮助。

    2024-01-24 14:34:01
    赞同 展开评论 打赏
  • "Navicat 编辑界面里插入的话,自增主键可能是根据返回数据包的某个值来展示,不是直接去select得到的
    如果编辑界面里插入的话,刷新一下表格 也是能展示出来自增主键的值的 你试试把这个sql文件做个备份,然后编辑这个sql文件,只保留开头到CREATE TABLE action_event这第一个完整的建表语句,后续全部全删掉,再source 看是否报错 此回答来自钉群“阿里云 PolarDB-X 开源交流群"""

    2024-01-24 10:07:16
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 是阿里云自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载