這是我的MySQL表:
MySQL的不允許排有2個相同的列值與另一行
- 左欄自動遞增。
- 中心列是用戶的ID號。
- 右欄是他們喜歡的帖子的ID號。
我將數據插入到表像這樣:
$stmt = $db->prepare("INSERT INTO likes (user_id,post_id) VALUES (?,?)");
$stmt->execute(array($_SESSION['user'],$_POST['id']));
這工作得很好,但你可以看到MySQL表有兩個相同的行(ID的3 & 4)都有一個USER_ID爲5,post_id爲196.換言之,我的MySQL表記錄了id = 5的用戶喜歡id = 196 兩次。我怎麼禁止在有有兩行的情況相同USER_ID的和相同POST_ID的
你需要自動遞增'id'列嗎?我只是在'user_id,post_id'上有一個複合PK# – 2011-04-02 22:24:16
@Minin @inquisitive當你不需要一個ID列時,很少有這種情況,這肯定不是那種情況。 [看到這個問題和答案](http://stackoverflow.com/questions/5496008/when-we-dont-need-a-primary-key-for-our-table/5496048#5496048) – rockerest 2011-04-02 22:29:38
@rockerest - 你似乎將'PK'與'Id'列混淆。它們不是同一件事。我建議OP在2列上有一個複合主鍵。 – 2011-04-02 22:32:48