云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

无法获取新增ID值问题排查(无法获取iccid什么意思)

jxf315 2025-05-02 19:07:56 教程文章 6 ℃

#在头条记录我的2025#

最近在做跨域数据同步时,遇到无法返回新增ID的问题。模型是把数据从阿里云同步到其它机房。因为数据实际上已经实现了同步,只是没有获取到想要的返回结果,所以一开始以为是程序有bug。接下来就是一番鸡飞狗跳的十八般武艺轮番上阵,经过仔细排查,发现程序并无问题。直到在对比了两边的库表结构后,才发现端倪:目的端的库表没有设置主键!(由于两端对数据的用途不同,所以库表结构并未完全一致)

等将目的端的ID字段设置为主键和自增后,终于获取到了盼望已久的返回值。

原因分析:但凡依赖 mysql api 中的 mysql_insert_id() 函数来获取新增ID,都必须有自增字段。在 mysql 手册中,对于 mysql_insert_id() 的返回值是这样描述的:

mysql_insert_id() returns the value stored into an AUTO_INCREMENT column, ... LAST_INSERT_ID() returns only automatically generated AUTO_INCREMENT values. If you store an explicit value other than NULL or 0, it does not affect the value returned by LAST_INSERT_ID().

估计遇到类似问题的同学还是蛮多的,希望本文能带给你解决问题的思路。

最近发表
标签列表