将MySQL主键自动增量设置为无限(或非常大)?
mysqlmysqli database
您可以使用BIGINT,但这不是无限的,但您可以使用它来使用大量主键自动增量。语法如下 −
yourColumnName BIGINT NOT NULL AUTO_INCRMENT;
为了理解上述语法,让我们创建一个表。创建表的查询如下 −
mysql>创建表 LargeAutoIncrement -> ( -> Id BIGINT NOT NULL AUTO_INCRMENT PRIMARY KEY -> ); 查询成功,0 行受影响(0.78 秒)
现在,您可以在此表中存储大数字,如 9223372036854775807,即用于主键自动递增。
让我们从 9223372036854775805 插入记录使用插入命令插入表。查询如下。我们将仅插入第一个值,其余为空白,因为自动增量将自动插入值 −
mysql> insert into LargeAutoIncrement values(9223372036854775805); Query OK, 1 row affected (0.19 sec) mysql> insert into LargeAutoIncrement values(); Query OK, 1 row affected (0.81 sec) mysql> insert into LargeAutoIncrement values(); Query OK, 1 row affected (0.16 sec)
现在,您可以使用 select 语句显示表中的所有记录。查询如下 −
mysql> select *from LargeAutoIncrement;
以下是带自动增量的输出 −
+---------------------+ | Id | +---------------------+ | 9223372036854775805 | | 9223372036854775806 | | 9223372036854775807 | +---------------------+ 3 rows in set (0.00 sec)