因此,我在SQL中有一个表,该表具有带有INT数据类型的PRIMARY KEY Column。该列几乎用完了INT值,因为我在该列中已经有多达20亿个Plus值。我尝试通过将数据类型更改为BigInt来解决此问题,但导航器崩溃了。请解决此问题的最佳方法是什么?
最佳答案
如果使用负值,则行数限制为18,446,744,073,709,551,616,超出大多数(任何一个)设备每行1个字节可以存储的数量(没有行将只有1个字节,它们将是更多字节)。
更多细节
Limits In SQLite - Maximum Number Of Rows In A Table
我尝试通过将数据类型更改为BigInt来解决此问题,但导航器崩溃了
至于不影响事务的数据类型,除了在检索数据时,这是一个微妙的问题,可以通过使用隐式或显式CASTing来解决。除数据类型外,另一个是使用INTEGER PRIMARY KEY(隐式或显式,但具体是INTEGER而不是INT或BIGINT),这会使列成为rowid别名,并且只能存储整数值。在除rowid和rowid的别名以外的所有其他列中,可以存储任何类型的值。
有关更多详细信息,Datatypes In SQLite Version 3
请解决此问题的最佳方法是什么?
从SQLite的角度来看,没有任何问题。
关于sql - 在SQLite中用完PRIMARY KEY的INT数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59335163/