【发布时间】:2011-06-13 18:05:13
【问题描述】:
大多数数据库支持 autogenerate 用于 INT 字段,主要用作该表的键。它有时被简称为id。
在程序让 c# int 和数据库 INT 值不再相互支持之前多长时间,或者在 INT 值用完之前多长时间,或者这个自动生成的 id 字段有多大数据库,比方说 sqlite?
当你尝试插入一条新记录,而数据库自动生成的row id用完了,会发生什么;不再插入?
谢谢
[编辑]
您是否偶尔查看表的 ID 值?
大多数人不知道,如果由于某种原因您的应用程序执行了大量插入和删除操作,那么每次插入时都会生成一个新的ID 值。似乎数据库不会重用已删除的 ID,因此在这种情况下,如果应用程序执行大量插入和删除操作,只有 1000 记录的数据库可以用完该值!!!
我问这个问题的原因是,通常在您经常使用ID 值的应用程序中,以跟踪记录;我总是这样做。
免得说我做了这样的事情
int record_id= reader("id").value;
什么时候会出现溢出错误?
数据库INT在所有编程环境下都和int一样吗?
【问题讨论】:
-
第 1 段我明白,第 2 和第 3 段不太明白。
-
我觉得它属于SO。一个纯粹的技术问题。
-
请澄清平台问题,显然您的原始问题专门引用了 SQLlite。平台在这里很重要,因为这种类型的实现细节不同。