Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 主键,最大限制_Sql_Database - Fatal编程技术网

Sql 主键,最大限制

Sql 主键,最大限制,sql,database,Sql,Database,我对SQL和自动递增主键有疑问。自动递增主键的最大限制是多少?如果限制成为一个问题,就说你已经用完了所有的主键。那你能做什么 只是在寻找关于这个话题的知识。关于我所说的数据库。我还是在寻找知识。所以任何类型的数据库 限制与数据类型本身有关,而不是与自动递增的事实有关。如果您关心最大大小,可以在零以下开始序列,从而使容量加倍,如下所示: CREATE TABLE [MYTABLE]( [ID] [int] IDENTITY(-2147483648,1), (...) 不同数据类型的值范围

我对SQL和自动递增主键有疑问。自动递增主键的最大限制是多少?如果限制成为一个问题,就说你已经用完了所有的主键。那你能做什么


只是在寻找关于这个话题的知识。关于我所说的数据库。我还是在寻找知识。所以任何类型的数据库

限制与数据类型本身有关,而不是与自动递增的事实有关。如果您关心最大大小,可以在零以下开始序列,从而使容量加倍,如下所示:

CREATE TABLE [MYTABLE](
[ID] [int] IDENTITY(-2147483648,1),
    (...)
不同数据类型的值范围如下所示:

CREATE TABLE [MYTABLE](
[ID] [int] IDENTITY(-2147483648,1),
    (...)
  • bigint- 范围:从-2^63(-9223372036854775808)到2^63-1(9223372036854775807) 存储:8字节
  • int-范围:从-2^31(-2147483648)到2^31-1(2147483647)存储:4字节
  • smallint-范围从-2^15(-32768)到2^15-1(32767)存储:2字节
  • tinyint-范围0到255存储:1字节

  • 整数将带您到达2147483647。一个BIGINT会让你得到9223372036854775807。好的,所以这不是一个真正需要考虑的问题。很高兴知道!可能取决于您使用的具体数据库产品。SQL语言标准本身在这方面没有定义任何东西-这是非常特定于供应商的(因此请为您正在使用的具体数据库添加相关标记)。如果您关心最大大小,可以在零以下开始序列,从而使容量加倍这取决于您正在使用的数据库。这是一个非常好的主意。很高兴知道。感谢当问题没有指定dbms时,如何链接到MS SQL Server端,其中包括非ANSI SQL类型?@jarlh感谢您的澄清,但他只是在寻找知识,所以我给出了答案。如果我错了,请纠正我