原帖由 宅男-兜着走 于 2010-2-12 07:26 PM 发表
int 的 auto_increment 我会。
primary key 就是 productId 就是你说的 (productxxxxx)
他们不要号码。要的是 product00001 ,或 product00002 这样的东西。
而我的问题是什么方法能让他们自动跳。 ...
原帖由 ~Zero 于 2010-2-12 09:57 PM 发表
跟 database 的 auto increment 比起来当然会有差别.
一开始数据还少的时候是感觉不到的, 可是当数据多了的时候就会慢慢 feel 到了.
不然还有一个方法, 很荒谬, 可是应该可以解决你奇怪的要求, 又不会牺牲太多速度.
做一个 auto increment 的 ID, 然后利用 trigger 来 update 那个 varchar 的 ID.
也就是, 多放一个 number 的 column 在旁边, 浪费空间.
既然你的 ID 是 varchar, 可以先了解一下你是怎么 query 最大的?
没有难,只是麻煩一些
建立一個 txt 檔記錄最后的 ID 数字
如目前是 L00005
那麼 txt 檔内的数字就是 5
新增一笔產品的時候就file_get_contents讀取内容之後+1即可,最後创建產品成功後再更新 txt 的数字
原帖由 ~Zero 于 2010-2-12 09:57 PM 发表
跟 database 的 auto increment 比起来当然会有差别.
一开始数据还少的时候是感觉不到的, 可是当数据多了的时候就会慢慢 feel 到了.
不然还有一个方法, 很荒谬, 可是应该可以解决你奇怪的要求, 又不会牺牲太 ...
既然你的 ID 是 varchar, 可以先了解一下你是怎么 query 最大的?
原帖由 宅男-兜着走 于 2010-2-12 17:07 发表
我现在有个table 是Product。
但是 Product 有个特定的 ID。
比如说, L0009 000 ~ L0009 001 ........ n
但是我要怎么才能够弄到他们在Mysql 内 AutoIncrement 呢?
我之前的做法是用 PHP 找最 ...
原帖由 davidbilly87 于 2010-2-25 02:14 AM 发表
database just use auto increment 1,2,3 随便
$SQL = "SELECT * FROM table1";
$colum1=取出 auto increment data;
$colum1_length=strlen($colum1);
$length=5; //00000
$for_loop= $length ...
原帖由 宅男-兜着走 于 2010-2-25 02:52 发表
你的这个做法是每个 auto_increment 的 int id 拿出来 然后 for loop , 0 下去, 再 组 “product” 下去嘛 ==
看我的。
$formatProductId = "product %05s"; // product id 的格式, format。
for( ...
欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) | Powered by Discuz! X2.5 |