gpt4 book ai didi

database - 当整数列上的 auto_increment 达到数据库中的 max_value 时会发生什么?

转载 作者:太空狗 更新时间:2023-10-30 01:37:37 24 4
gpt4 key购买 nike

我正在实现一个数据库应用程序,我将使用 JavaDB 和 MySQL 作为数据库。我的表中有一个 ID 列,它的类型是整数,我使用数据库的 auto_increment-function 作为值。

但是当我收到超过 2(或 4)亿个帖子并且整数不够时会发生什么?整数是溢出并继续还是抛出我可以处理的异常?

是的,我可以更改为 long as 数据类型,但我如何检查何时需要它?而且我认为如果我使用 long 作为 ID 列的数据类型,那么获取 last_inserted_id() 函数会有问题。

最佳答案

Jim Martin 来自 §3.6.9. "Using AUTO_INCREMENT" 的评论MySQL 文档:

Just in case there's any question, the AUTO_INCREMENT field /DOES NOT WRAP/. Once you hit the limit for the field size, INSERTs generate an error. (As per Jeremy Cole)

使用 MySQL 5.1.45 的快速测试导致错误:

ERROR 1467 (HY000): Failed to read auto-increment value from storage engine

您可以在插入时测试该错误并采取适当的措施。

关于database - 当整数列上的 auto_increment 达到数据库中的 max_value 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2615417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com