我想知道是否可以創建標識(在Varchar列上創建自動增量,以及如何將其設置爲主鍵並在其他表上創建外鍵引用)varchar列上的標識鍵 - T-SQL
這是代碼,我有 -
CREATE TABLE Questions(
QuestionID int IDENTITY PRIMARY KEY,
QuestionNo as 'Q'+Cast(QuestionID as Varchar(10),
Question Varchar(200)
)
有沒有一種辦法可以讓QuestionNo作爲主鍵和另一個表中引用它(說答案(AnswerID,QuestionNo,AnswerText)
**這是一個不好的設計,不這樣做!**您可以隨時顯示(應用程序)與「Q」的前綴,但店裏的數值它是一個純粹的int,而FK是int。如果需要,可以將FK分配給兩個列,即int和char(1)類型。沒有必要將其作爲varchar存儲。我與舊代碼爭鬥,它有相同的瘋狂的概念,使一切都成爲黑客,你會最終有代碼,如'如果左(...,1)='Q'...否則,如果左(... ,1)='A'...'或類似的'CASE'語句... – 2010-09-03 19:35:16
是的,我明白你的觀點。謝謝。 – Abey 2010-09-03 19:48:22
@KM:同意。我有一個系統的設置與此類似 - 他們希望這些數字有幾個字母指向記錄編號......它們在開始使用系統時變得更好,並希望更新搜索,以便忽略主要信件* ... – 2010-09-03 19:55:03