iT邦幫忙

0

mysql自動編號欄位

請教大家
要如何新增一個欄位,以下列格式來產生自動編號的效果呢
a0001
a0002
a0003
.......(新增一筆會自動往下+1)
謝謝

ccutmis iT邦高手 2 級 ‧ 2019-05-01 02:11:35 檢舉
這個參考一下 https://stackoverflow.com/questions/17893988/how-to-make-mysql-table-primary-key-auto-increment-with-some-prefix
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
舜~
iT邦高手 1 級 ‧ 2019-04-30 23:03:05

方法一:

SET @i = 0;
select * ,concat('a',LPAD(@i := @i + 1, 4, 0)) as row_number from [table]

方法二:
優點: 一行就解決了
缺點: 若一次處理多個指令 @i 因為沒有重置,會受之前的變更影響而失真,這特性到是可以用在分頁上

select * ,concat('a',LPAD(@i := ifnull(@i,0) + 1, 4, 0)) as row_number from [table]

感謝小魚提醒,您可參考這篇,每當發生insert的時候可以做一些事情,判斷若是特定資料表就更新欄位~~
MySQL 儲存程式之觸發器(Trigger)/事件(Event)

小魚 iT邦大師 1 級 ‧ 2019-04-30 23:43:07 檢舉

他應該是要 AUTO_INCREASE編號 吧...

我要發表回答

立即登入回答