我有1個表:如何防止表中的重複條目?
表1:
used_tag_id | post_id | tag_id
user_tag_id
是主鍵。
post_id
和tag_id
有多個條目。
如果我添加post_id
= 1和tag_id
= 1應該添加一個時間,然後如果我再次添加post_id
= 1和tag_id
= 1那麼它不應該再次添加到表中。
如何做到這一點?
我應該這樣做與查詢或有任何方式太設計表時呢?
我有1個表:如何防止表中的重複條目?
表1:
used_tag_id | post_id | tag_id
user_tag_id
是主鍵。
post_id
和tag_id
有多個條目。
如果我添加post_id
= 1和tag_id
= 1應該添加一個時間,然後如果我再次添加post_id
= 1和tag_id
= 1那麼它不應該再次添加到表中。
如何做到這一點?
我應該這樣做與查詢或有任何方式太設計表時呢?
創建複合列UNIQUE
約束上表中,如
ALTER TABLE tableName ADD CONSTRAINT tb_uq UNIQUE (post_id, tag_id)
我已經創建了具有自動增量的普通主鍵,但是如何創建組合主鍵? – 2013-02-25 06:50:31
CREATE TABLE INFO( t1ID INT, t2ID INT, PRIMARY KEY(t1ID,t2ID) ) – andy 2013-02-25 06:51:41
ya codeing thing ok。但我不想在數據庫本身想要完成的代碼上進行轉發。 – 2013-02-25 06:51:53
我不能這樣做,因爲1 post_id可以有多個tag_id – 2013-02-25 06:45:35
@HarjeetJadeja是的,你可以。這將允許每個'post_id'多個'tag_id'。嘗試一下。 – 2013-02-25 06:50:47
如果您執行了alter table語句,這些記錄仍然是允許的'used_tag_id,post_id,tag_id','1,1,1','2,1,2','3,1,3','4, 1,4''但不是這個,如果你再次添加'5,1,4' – 2013-02-25 07:00:25