我想生成一个以 35801 开头的唯一 ID

数据库中有一个名为 add_sample 的表来存储学生样本记录。我正在根据 auto_increment id 存储插入的信息,但现在我想为第一个输入他/她的数据的学生分配一个像 35801 这样的唯一 id 而不是那个 auto_increment id(例如 1.)。第二个用户应该是 35802,第三个用户应该是 35803,依此类推直到 99。但是当学生人数达到 100 时,它应该将 100 添加到 3580 以开始一个新的系列 36801。


我期待这样:


unique ID  |   Name   |  Email          |   Number_of_Sample | sample_Type

    35801  |   john   | john@gmail.com  |   3                | fiber      


unique ID  |   Name   |  Email          |   Number_of_Sample | sample_Type

    35801  |   john   |  john@gmail.com |   3                | fiber      

    35802  |   sam    |  sam@gmail.com  |   1                | yarn    


倚天杖
浏览 137回答 2
2回答

萧十郎

您可以 & 应该继续使用auto-incrementID,但更改值以从您想要开始的任何值开始,如下所示:ALTER TABLE `add_sample` AUTO_INCREMENT=35800;

繁星点点滴滴

您可以使用 PHP 函数将数据库中存在的自动增量 ID 转换为新的唯一 ID。<?phpfunction getSpecialSampleId($autoIncrementId){&nbsp; &nbsp; $uptoHunderd&nbsp; = $autoIncrementId % 100;&nbsp; &nbsp; $aboveHunderd = $autoIncrementId - $uptoHunderd;&nbsp; &nbsp; return 35800 + 10 * $aboveHunderd + $uptoHunderd;}echo getSpecialSampleId(1) . "<br>";echo getSpecialSampleId(2) . "<br>";echo getSpecialSampleId(3) . "<br>";echo getSpecialSampleId(99) . "<br>";echo getSpecialSampleId(100) . "<br>";echo getSpecialSampleId(101) . "<br>";echo getSpecialSampleId(250) . "<br>";echo getSpecialSampleId(1555) . "<br>";这将输出:3580135802358033589936800368013785050855您可以使用此函数将这个特殊的样本 id 输出到外界,同时在您的数据库中保持正常的自动递增 id。
打开App,查看更多内容
随时随地看视频慕课网APP