SQLite 中 PRIMARY KEY 的 INT 数据类型用完

杀戮男孩22

所以我在 SQL 中有一个表,它有一个带有 INT 数据类型的 PRIMARY KEY 列。该列几乎用完了 INT 值,因为该列中已经有多达 20 亿个 Plus 值。我尝试通过将数据类型更改为 BigInt 来解决此问题,但导航器崩溃了。请问解决这个问题的最佳方法是什么?

用户12522547

如果使用负值,行数的限制是 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

INT PRIMARY KEY和INTEGER PRIMARY KEY SQLite之间的区别

SQLite 无类型和 PRIMARY KEY 变化

SQL Server查询以获取表中的列列表以及数据类型,NOT NULL和PRIMARY KEY约束

Oracle中的数据类型int

SQLite:PRIMARY KEY是否默认为ASC?

map <int,int> a,b中a和b的数据类型

在SQLite中CREATE UNIQUE INDEX或INTEGER PRIMARY KEY的性能更高吗?

在codeigniter中检索刚刚插入的数据的primary_key

如何避免在SQLite表中插入错误的数据类型?

ADO.Net报告SQLite中的空数据类型

理解 SQLite 中的日期时间和数据类型

SQLite中的日期和时间数据类型

SQLite数据类型

Pytorch中的int8数据类型

将python中的数据类型从complex更改为int

在OpenCV中从Point数据类型转换为int

C ++ 11在map <key,value>中为value(int和string)存储多种数据类型的最简单方法吗?

SQLite:不在索引中使用 PRIMARY KEY 列

如何从SQLite数据库的Select查询中以String数据类型获取数据?

如何在mysql查询中添加double数据类型值和int数据类型值

在Android中重置INTEGER PRIMARY KEY AUTOINCREMENT

SQLite Blob数据类型

在SQLite数据库中存储经度和纬度的哪种数据类型?

char []和int之间的int函数中的C冲突数据类型

从内存中的Sqlite数据库读取小数类型为double或int

PostgreSQL-创建表-在复合类型内部的属性中应用诸如PRIMARY KEY之类的约束

如何在单个POSTGRESQL查询中获取列名及其引用类型(即PRIMARY KEY和FOREIGN KEY)?

HIVE:如何将数据插入数据类型为 MAP (string:Array<INT>) 的列中

SQL Server中具有日期数据的int数据类型的CONVERT函数