将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)

相关文章