2014-01-28 60 views
0

我有一個mysql中的人的表,當前使用自動遞增整數作爲主鍵。這些數據與c#接口。將與c#程序中的數據交互的人將無法訪問主鍵整數。如果我將主鍵數據類型更改爲名稱的varchar,那麼可以解決刪除人員和編輯人員的問題。但是,這樣做會引起使用與現有人相同的主鍵(姓名)創建新人的問題。我可以使用使用名和姓的複合主鍵。但我不知道該怎麼做。我對mysql的知識是有限的,我知道很多c#。任何有關如何解決這個問題的建議都是我正在尋找的。我應該如何去使用mysql中的主鍵字符串

注:我寧願在MySQL工作臺中的圖形方法,但我不反對寫一個SQL查詢來實現相同的結果。

+1

我認爲你應該讓你的模式保持原樣,並編寫你的界面在後臺使用主鍵。 –

回答

0

我沒有足夠的聲譽,這就是爲什麼我無法在您的查詢下發表評論的原因。我從你的查詢中得到了什麼,你想要在Name上應用主鍵,但名稱會有所不同。所以,當插入新記錄時,它會顯示錯誤,相應的條目已經存在..如果您的查詢是這樣的話,我會在下一個對話中給您答案,如果沒有,請詳細說明您的查詢以獲取更多信息。 .. 而且還發送給我所有列名稱,您想要使用主鍵概念的特定表....

+0

爲什麼你們不更新我們的輸出...... – Partap

0

你是否100%確定你永遠不會有2人具有相同的名字和姓氏?否則,我會說,告訴人們他們的主鍵整數,並讓他們記住它,或實現一個用戶名系統,他們選擇他們的名字。但是,爲了回答你的問題:

string SQLCommand = "INSERT INTO table_name (colFullName, column2, column3) VALUES (" + strFirstName + strLastName + ", value2, value3)"; 

這將其插入到你的表,他們的全名將會在一個領域,我認爲這是你在問什麼。

+0

儘管uv1997born的確竊取了你的答案,但我認爲這不是一個好的開始。你剛剛對桌子進行了非標準化,給自己一個維修頭痛。 –

-1

據我說,告訴每個人他們的主要關鍵整數,並要求他們記住它!

string SQLCommand = "INSERT INTO table_name (colFullName, column2, column3) VALUES (" + strFirstName + strLastName + ", value2, value3)"; 
+0

您是否認真複製我的答案?!?有人請他投票。我自己沒有足夠的聲望去做。 – Vandel212

相關問題