HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据
HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据
愁煞老夫!求指导帮助!
云数据库 定义数据类型时,id字段设为 Integer ,按照如下教程可查询得到数据。
云数据库服务支持API12,请参考Cloud Foundation Kit文档完成功能开发。
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/cloudfoundation-introduction-V5
但是id字段需要自增,一旦设定 id为自增字段(如下图),
即使端侧 更新 schema.json ,也查询不到数据,返回错误为:
Failed to query , Code: 1008230009, message: Process query resp error.
更多关于HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
等不及了,先用个本办法吧:
将ID字段设为UUID(字符串)
uuid生成方法:
import { util } from '@kit.ArkTS';
let id=util.generateRandomUUID()
util工具函数中通过util.generateRandomUUID接口提供了生成uuid的相应功能,具体使用可参考如下链接:
参考链接
UUID是国际标准化组织(ISO)提出的一个概念。UUID是一个128比特的数值,这个数值可以通过一定的算法计算出来。为了提高效率,常用的UUID可缩短至16位。UUID用来识别属性类型,在所有空间和时间上被视为唯一的标识。一般来说,可以保证这个值是真正唯一的任何地方产生的任意一个UUID都不会有相同的值。使用UUID的一个好处是可以为新的服务创建新的标识符。这样一来,客户端在查找一个服务时,只需要在它的服务查找请求中指出与某类服务(或某个特定服务)有关的UUID,如果服务的提供者能将可用的服务与这个UUID相匹配,就返回一个响应。
UUID是基于当前时间、计数器(counter)和硬件标识(通常为无线网卡的MAC地址)等数据计算生成的。UUID可以被任何人独立创建,并按需发布。UUID没有集中管理机构,因为它们是不会被复制的独特标识符。属性协议允许设备使用UUID识别属性类型,从而不需要用读/写请求来识别它们的本地句柄。
更多关于HarmonyOS 鸿蒙Next 端侧:云数据库设置自增字段后就查不到数据的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
盼答案
没搞定
有什么好方法吗?好着急呀。
试一下把id设成IntAutocrement吧,也是自增主键并非空。
谢谢。
在HarmonyOS鸿蒙Next端侧开发中,如果云数据库设置自增字段后查询不到数据,这通常与数据同步和查询条件设置有关。
-
数据同步问题:自增字段的设定可能会影响数据同步过程。检查数据是否成功上传至云端,以及端侧是否成功拉取到最新数据。有时数据同步会有延迟,确认同步状态是关键。
-
查询条件错误:在设置自增字段后,如果查询条件中未正确使用该字段,或者使用了错误的字段值,将无法查询到目标数据。确保查询条件正确无误,并且符合数据库中的数据状态。
-
字段类型不匹配:检查自增字段的类型是否与查询条件中的类型一致。类型不匹配会导致查询失败。
-
权限问题:确认当前用户是否有权限查询该字段。权限不足也会导致查询不到数据。
-
数据库版本:确认鸿蒙端和云端的数据库版本是否一致。版本不一致可能会导致数据不兼容或查询失败。
如果以上检查均无误,但问题依旧存在,可能是数据库系统内部的bug或其他未知问题。此时,建议直接联系官方客服进行进一步的排查和解决。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html