所以我在 SQL 中有一个表,它有一个带有 INT 数据类型的 PRIMARY KEY 列。该列几乎用完了 INT 值,因为该列中已经有多达 20 亿个 Plus 值。我尝试通过将数据类型更改为 BigInt 来解决此问题,但导航器崩溃了。请问解决这个问题的最佳方法是什么?
如果使用负值,行数的限制是 18,446,744,073,709,551,616,超出了大多数(任何?)设备可以存储的每行 1 个字节(没有行只是 1 个字节,它们会是更多字节)。
有关SQLite 中的更多详细信息限制 - 表中的最大行数
我尝试通过将数据类型更改为 BigInt 来解决此问题,但导航器崩溃了
至于除了检索数据时不影响其他事情的数据类型,这是一个微妙的问题,可以通过使用隐式或显式 CAST 来解决。除了数据类型之外的另一个是如果使用 INTEGER PRIMARY KEY(隐式或显式,但特别是 INTEGER 而不是 INT 或 BIGINT),这会使列成为 rowid 别名,并且只能存储整数值。在除 rowid 和 rowid 的别名之外的所有其他列中,可以存储任何类型的值。
有关SQLite 版本 3 中的更多详细信息数据类型
请问解决这个问题的最佳方法是什么?从 SQLite 的角度来看,没什么,没有问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句