mySQL 5.0.45 LAST_INSERT_ID() 和大于 signed int 的值

标签 mysql unsigned lastinsertid bigint

我正在尝试在一个自动递增的索引上使用 LAST_INSERT_ID,该索引已经超过了带符号的 int 值 2147483647。此列是一个无符号的 int。但是,LAST_INSERT_ID() 返回无效的负值。研究这个,我发现了一些评论表明这是这个功能的本质。但我找不到它的正式记录。有一些可以追溯到几年前的错误报告仍然开放。

所以我需要知道这是否真的是一个已知错误和/或我是否可以对此做些什么。我需要将 mySQL 升级到更新的版本吗?

最佳答案

我不是 100% 确定这一点,但由于您只需要 ID 而不是对其进行任何数学运算,您是否可以将其作为字符串处理并让您的选择语句将数字转换为字符串?

关于mySQL 5.0.45 LAST_INSERT_ID() 和大于 signed int 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3418548/

相关文章:

php - 如何在 SQLite 中获取最后一个插入 ID?

php - 使用mysql insert id和if语句插入数组数据

mysql - 配置: error: invalid MySQL root directory

c# - 在 C# 中将有符号整数与无符号整数相加

javascript - 通过 Emscripten 在 Javascript 中进行结构操作

c - POSIX `read()` 的 `buf` 应该是 `signed` 还是 `unsigned`?这有关系吗?

php - 对于方法 PDO::lastInsertId(),参数 "sequence name"是什么意思? (PHP-PDO)

mysql - DISTINCT 关键字在 mysql 查询中不起作用

php - 将多个复选框答案放入 MySQL 数据库中

MySQL 如何在一个查询中返回 COUNT 总数以及使用 GROUP BY 的 COUNT