你好,我想創建一個帶有前綴的唯一ID,然後想在數據庫中輸入它,客戶ID字段需要是主要的,因爲我嘗試了很多東西,但所有得到了失敗,因爲MySQL是不是讓我作出這樣的場主, 我試圖創建客戶ID這樣 $pre="brbn_"; $v=0001; id=$pre.$v;
我想在php中創建一個唯一的客戶ID
這裏MySQL查詢來此查詢後。
你好,我想創建一個帶有前綴的唯一ID,然後想在數據庫中輸入它,客戶ID字段需要是主要的,因爲我嘗試了很多東西,但所有得到了失敗,因爲MySQL是不是讓我作出這樣的場主, 我試圖創建客戶ID這樣 $pre="brbn_"; $v=0001; id=$pre.$v;
我想在php中創建一個唯一的客戶ID
這裏MySQL查詢來此查詢後。
您可以在數據庫的唯一字段中使用字符串,但不能將其作爲主要字符串,因爲您的ID不是數字。 MySQL使用主要可能自動增量或類似的東西。 您可以創建主ID和唯一用戶ID並將其存儲在數據庫中。
CREATE TABLE IF NOT EXISTS `test` (
`id` int(11) NOT NULL,
`uid` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uid` (`uid`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `test` (`id`, `uid`) VALUES (1, 'brbn_0001'),(2, 'brbn_0002');
當然,你應該進行實地ID自動增量:)
,因爲你已經創建你的數據庫,只是想增加你的$ V不得不從DB頭
SELECT uid FROM test DESC LIMIT 1
這個選擇的
返回最後一個條目...現在你可以使用PHP來剪切你的字符串。 嘗試一些像
$var = explode("_",$result);
中是$ var [1]你有1
現在增加值是$ var [1] ++;
現在你必須把數回4號
$var = str_pad($var[1], 4);
你能做到這一點的兩排像
$var = explode("_",$result);
$var = str_pad(++$var[1], 4);
比添加前綴,並插入到你的數據庫
我也嘗試過獨特,但之前得到了錯誤,但現在我想要生成一個客戶ID,這將像brbn_and某些值像任何沒有。或者我可能會在這裏建議的任何其他內容。 – epicwebsol
在這裏你看到一個ID(主)和一個UID(唯一)的測試數據庫,我添加2行,每個有2個值(ID,UID)....uid是varchar,這意味着它可以包含像brbn_這樣的字符和數字,如1 – Dwza
我已經創建了表和數據庫已經我需要一種方法來生成唯一的ID,因爲我選擇它的方式總是會添加brbn_0001導致$ v從不得到改變,並作爲registration.php被加載它會得到相同的結果.. – epicwebsol
你可以使用隨機號碼或帶有前綴的時間,例如'brbn_'.time() –
您是否可以不將前綴和唯一ID存儲在單獨的列中? – Strawberry
如果我將使用唯一的身份證,那麼我將如何搜索用戶再次和獨特也不是我的解決方案.... – epicwebsol