iT邦幫忙

0

請問可以用SQL自動產生編號來當會員編號嗎?

  • 分享至 

  • xImage

請問可以用 auto_increment => 欄位自動編號 A_I 的功能自動產生的編號,
來當成會員編號嗎?

會不會因為資料重整或其他原因,造成編號重編或跑掉。

還是自動產生識別碼後,再存成另一個會員編號欄位,比較好。

看更多先前的討論...收起先前的討論...
slime iT邦大師 1 級 ‧ 2019-08-18 00:36:36 檢舉
技術上可以, 實務上發生過資料庫備份再還原, 該區跳過一大段, 才重新編號.
例如: 原本 1~10000 , 備份還原後從 200000001 開始.

建議:
1. 使用文字字串.
2. 自己用個小程式處理, 至少 max(現有欄位)+1 , 更好一點是資料表有分, 例如: 2019abcdef , abcdef 是流水號, 資料表有紀錄, 2019 是年份.
ltc09 iT邦研究生 4 級 ‧ 2019-08-18 07:43:12 檢舉
感謝您 :)
77012904 iT邦新手 3 級 ‧ 2019-08-19 15:53:23 檢舉
用個Insert的Trigger去產生編號會比較好。 不然自動編號只會從1開始
aptx1596 iT邦新手 4 級 ‧ 2019-08-24 03:03:59 檢舉
寫FUNCTION 然後到 預設值那邊呼叫比較好 傳統的數字加+1 在資料匯入匯出的情況中很不方便
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
暐翰
iT邦大師 1 級 ‧ 2019-08-17 19:21:24
最佳解答

會不會因為資料重整或其他原因,造成編號重編或跑掉。

不會,因為讀取一次系統就會自動+1

還是自動產生識別碼後,再存成另一個會員編號欄位,比較好。

假如有要求可讀性,可以建立另外一個編號,像是Usr2019081700001流水號
代表19年8月17號建立的第一個會員

ltc09 iT邦研究生 4 級 ‧ 2019-08-18 07:43:20 檢舉

感謝您 :)

1
小魚
iT邦大師 1 級 ‧ 2019-08-17 21:42:54

請問可以用 auto_increment => 欄位自動編號 A_I 的功能自動產生的編號,
來當成會員編號嗎?

可以

會不會因為資料重整或其他原因,造成編號重編或跑掉。

正常來說不會, 不過防呆不防蠢.

還是自動產生識別碼後,再存成另一個會員編號欄位,比較好。

看人, 有的人覺得用數字不好, 喜歡用無法辨識的文字(如UUID之類的)來當主鍵, 也可以用自己定義的方式來當主鍵, 只要不會重複就好.

ltc09 iT邦研究生 4 級 ‧ 2019-08-18 07:43:08 檢舉

感謝您 :)

0
souda
iT邦高手 1 級 ‧ 2019-08-19 09:26:30

不好吧!!會員編號還是需要編碼原則的!

ltc09 iT邦研究生 4 級 ‧ 2019-08-20 06:59:22 檢舉

感謝您 :)

我要發表回答

立即登入回答