2012-09-18 25 views
0

我是新來的Mysql,所以去簡單。原諒這方面的知識不足。 但我到處搜索,這是愚蠢的,我不能找到這個簡單的答案。試圖做一個有趣的應用程序來促進頁面,賺取積分,PPC類型的廣告fbook等等等等...如何將更多數據添加到已具有主鍵的表中?

我目前有一個{table1}與用戶數據。 UID, FNAME, LNAME, 添加日期

和Table提交用戶鏈接的廣告返回一個頁面上, 它只有 主要從UID 和1列,現在可以添加鏈接至。 使用主鍵我想要用戶名或用戶名,但必須能夠添加更多的現有主鍵,所以我可以打電話給用戶和所有鏈接。我可以添加這樣的,但當然要刪除自己添加更多的表...

$query = "INSERT INTO {$table} VALUES ('{$userid}', '{$user_link}')"; 
mysql_query($query) or die('Error updating database'); 

然後說,他們再添一人後來

if new submission check existing then 
add new column to existing uid... link#2=http:// 

我在想什麼。甚至很難說這個問題,這就是爲什麼我把這裏放在搜索結果中!幫幫我!

回答

2

您的表在UID上不能有數據庫主鍵。根據定義,UID作爲主鍵必須是唯一的。所以,無論你需要。

  • 組合密鑰UID & USER_LINK(ORACLE思維)
  • 沒有重點可言(它的工作原理,但你可以有重複)
  • 的通用AUTONUM關鍵這對於每個記錄加1(MSFT思考)

當你說什麼是主鍵時,你的意思是這個值永遠不會爲空,它總是在表中是唯一的。你必須小心這一點;有些事情你認爲是獨一無二的,事實上並非如此。

在這種情況下,UNIQUE鍵是用用戶鏈接定義的,同一個用戶不需要有相同的鏈接(對吧?),所以你可以在兩者之間建立一個組合鍵。

+0

真棒終於有人可以把這些東西擺在桌子上給我。我會做一些谷歌搜索,看看我想出了什麼。我會保持發佈...再次感謝! –

+0

組合對於那些需要此功能的人來說是最簡單的。去PHPmyAdmin檢查我的用戶ID和鏈接列,單擊唯一索引,以便他們不能在同一個帳戶上有相同的鏈接...現在完美! –

1

刪除table2上的PRIMARY KEY,按照定義,它是唯一的。使用常規索引作爲FOREIGN KEY返回到表11。

+1

等待,用戶是否只允許在table2中有一個條目?如果是這樣,你會想使用'INSERT ... ON DUPLICATE KEY UPDATE ...'。對不起,我以前錯過了。 –

+0

如果您的意思是'沒有重複鏈接',那麼您需要在table2上的(uid,鏈接)上使用唯一索引。該表中沒有主鍵。 –

+0

好吧,我想我明白了......這是我做的 打開PHPMyAdmin; 1)單擊主與UID 2.表1)轉到表2點擊索引UID 3)選擇兩個UID +鏈接點擊表2獨特 現在似乎工作完美是這個優化? –

相關問題