php_saturn 2014-11-13 07:28 采纳率: 0%
浏览 734

sphinx UpdateAttributes 更新负数出错

例如更新:

$cl->UpdateAttributes ("test1",array("displayorder"),array(1=>array(-1)));

更新值为-1 得到的如果是: 'displayorder' => int 4294967294

更新正数就正常是什么情况。

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2023-02-26 11:47
    关注

    该回答引用ChatGPT

    根据你提供的信息,我猜测你在使用 Sphinx 的 UpdateAttributes 函数时出现了负数更新值不正确的问题。


    根据 Sphinx 文档,UpdateAttributes 函数支持 int 类型的属性值,取值范围为 0 到 4294967295(2^32-1)。当更新负数时,Sphinx 可能会将其解释为无符号整数(unsigned int),从而导致更新后的值出现错误。


    对于这种情况,你可以考虑使用有符号整数(signed int)类型的属性值,取值范围为 -2147483648 到 2147483647(-2^31 到 2^31-1)。这样就可以正确地更新负数值了。


    另外,如果你需要存储小数或其他类型的数据,可以考虑将其转换为整数进行存储,例如将小数乘以一个固定的倍数并取整,或者将字符串类型的数据使用哈希函数转换为整数。


    希望这些信息能够帮助你解决问题。

    评论

报告相同问题?

悬赏问题

  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机