亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想生成一個以 35801 開頭的唯一 ID

我想生成一個以 35801 開頭的唯一 ID

PHP
倚天杖 2021-11-13 16:49:47
數據庫中有一個名為 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   | [email protected]  |   3                | fiber      unique ID  |   Name   |  Email          |   Number_of_Sample | sample_Type    35801  |   john   |  [email protected] |   3                | fiber          35802  |   sam    |  [email protected]  |   1                | yarn    
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

您可以 & 應該繼續使用auto-incrementID,但更改值以從您想要開始的任何值開始,如下所示:

ALTER TABLE `add_sample` AUTO_INCREMENT=35800;


查看完整回答
反對 回復 2021-11-13
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

您可以使用 PHP 函數將數據庫中存在的自動增量 ID 轉換為新的唯一 ID。


<?php


function getSpecialSampleId($autoIncrementId)

{

    $uptoHunderd  = $autoIncrementId % 100;

    $aboveHunderd = $autoIncrementId - $uptoHunderd;

    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>";

這將輸出:


35801

35802

35803

35899

36800

36801

37850

50855

您可以使用此函數將這個特殊的樣本 id 輸出到外界,同時在您的數據庫中保持正常的自動遞增 id。


查看完整回答
反對 回復 2021-11-13
  • 2 回答
  • 0 關注
  • 200 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號