生成唯一ID

GST*_*TAR 3 php mysql sql

我正在研究生成唯一ID的函数 - 我的具体要求是唯一ID只需要8位数.

无论如何,我刚刚意识到我们可以设置ID自动增量字段从任何数字开始.所以假设我从11111111开始 - 我是否认为所有新记录都会从这个值增加?如果是这样,那么我有我唯一的8位ID,无需使用此功能.

而且如果删除了一条记录,那么新记录会重新使用该删除的ID吗?

Bra*_*rad 6

那是正确的.如果您的自动编号列从11111111开始,那么您的下一行将具有编号11111112.

删除记录时,不会重复使用其自动编号.

编辑:关于最大值,这取决于您选择的列类型.从MySQL文档:

为AUTO_INCREMENT列使用足够大的整数数据类型来保存所需的最大序列值.当列达到数据类型的上限时,下一次生成序列号的尝试将失败.例如,如果使用TINYINT,则允许的最大序列号为127.对于TINYINT UNSIGNED,最大值为255.

您可以使用INT,最多可以使用4294967295或BIGINT,最多可以使用18446744073709551615.请参阅http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html