方法一:
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)