我正在創建一個電子商務網站,在那裏我想給產品添加一個唯一編號。我想這樣做,它會自動採用這個數字,現在我使用time()函數。有了這個產品可以在添加時獲得時間價值。但是我不知道每次它會給出一個唯一的數字,或者如果任何人體在同一時間添加產品,它可以重複。如何給一個唯一的編號在網站上添加新產品
如果任何機構有任何其他建議給它唯一的編號或ID請告訴我。
將不勝感激。
我正在創建一個電子商務網站,在那裏我想給產品添加一個唯一編號。我想這樣做,它會自動採用這個數字,現在我使用time()函數。有了這個產品可以在添加時獲得時間價值。但是我不知道每次它會給出一個唯一的數字,或者如果任何人體在同一時間添加產品,它可以重複。如何給一個唯一的編號在網站上添加新產品
如果任何機構有任何其他建議給它唯一的編號或ID請告訴我。
將不勝感激。
使用時間()作爲上面提到的將給你一個可排序的方式來創建唯一的ID。連接字符串還會進一步隨機化您的期望結果並仍然保持其可排序:
$uniqueId= time().mt_rand();
不要打擾使用time()
來唯一命名您的產品。只需使用MySQL auto_increment列,然後如果您需要從數據庫檢索新的ID,請使用PHP的mysql_insert_id()
函數(或與您使用的任何數據庫接口相同的函數)。
是我也可以使用unique_id,但是我想給出的產品代碼也是選擇類別時代碼的前綴。就像如果我從選項列表中選擇任何產品類別,該類別代碼將作爲該唯一編號的前綴。所以這個號碼將是這樣的PKT33456762 – 2012-04-11 04:09:17
其中「PKT」是您的類別特定的前綴和「33456762」是一個獨特的自動遞增數字? – 2012-04-11 04:11:54
它在數據庫中的具體時間,只要我從選項列表中選擇類別,它將前綴到由time()函數生成的數字 – 2012-04-11 04:15:05
創建具有以下模式的表
create table products
(
id int auto_increment primary key,
product nvarchar(40),
type nvarchar(10),
time timestamp default now(),
...
);
將數據插入到表中使用
insert into products(product,type)
values ('JEdit','Editor'),('BlueFish','Compiler');
你的表是這樣的
id product type time ...
_____________________________________________________
1 JEdit Editor 2012-4-11 10:00:00
2 BlueFish Compiler 2012-4-11 11:00:00
它們是否存儲在數據庫中?你有沒有使用'auto_increment'列? – alex 2012-04-11 03:56:07
mysql也有UUID(),它有它的用途。 – 2012-04-11 04:02:38