我正在創建一個數據庫,以便我可以訪問來自大學的人員的姓名。但我想爲每個人(如1012607)創建一個註冊ID,其中前兩個數字是年份(2011年爲11個),第三個數字是他們註冊的學期(1個在年初和2在年底)。如何在數據庫上設置特定的註冊表
其他4位數字是遞增的。我不知道如何在MySQL中對前綴數字進行編碼,只能更改最後4位數字,並且每次在您每次重新註冊時都會更改前兩位數字。有人可以幫幫我嗎?
我正在創建一個數據庫,以便我可以訪問來自大學的人員的姓名。但我想爲每個人(如1012607)創建一個註冊ID,其中前兩個數字是年份(2011年爲11個),第三個數字是他們註冊的學期(1個在年初和2在年底)。如何在數據庫上設置特定的註冊表
其他4位數字是遞增的。我不知道如何在MySQL中對前綴數字進行編碼,只能更改最後4位數字,並且每次在您每次重新註冊時都會更改前兩位數字。有人可以幫幫我嗎?
我建議你有一個表的設計類似如下:
ID - auto increment Identity(1000,1)
Year - date
Semester - int
然後報告時用就可以了,你上面提到的邏輯。不必那麼複雜。
我可以創建一個程序或功能來做到這一點? – ymorenz
肯定爲什麼不。像上面提到的那樣創建一個包含3列的表格,然後創建一個只包含Year + Semester + ID列的存儲過程,以提供您想要的內容。 –
或者您可以添加DateRegistered,使用Auto inc鍵入表格,然後編寫一個函數來構建基於日期的東西中的'智能'數字,以及如果需要填充前導零的id的最後四位數字。給你一個代理鍵,贏,贏,贏。 –
您是在編寫一個利用數據庫的應用程序,還是您只是在設計數據庫?通常我會希望這樣的邏輯能夠被應用程序處理,而不是直接在數據庫中處理。 – Jason
你爲什麼想這樣做?這是一個智力練習嗎?或者它是與一些現有系統集成?我試着避免這種事情的通話費用,這是一大堆粉紅色的管狀無脊椎動物 –