我不是指兩個恰好是相同的行。避免在mysql表中間接重複
我的表的簡單結構是這樣的:
ID VAL1 VAL2
val1和val2的用於將兩個對象鏈接在一起,我不知道哪個是哪個,因爲它們引用同一個表。
我需要避免以下幾點:
id val1 val2 1 40 60 2 60 40
我可以使用INSERT忽略以避免直接複製,但它並不與上面的一個工作。
我也試圖避免來自PHP的多個查詢,所以我問是否可以在PHP發送的一個SQL查詢中執行此操作。
我不是指兩個恰好是相同的行。避免在mysql表中間接重複
我的表的簡單結構是這樣的:
ID VAL1 VAL2
val1和val2的用於將兩個對象鏈接在一起,我不知道哪個是哪個,因爲它們引用同一個表。
我需要避免以下幾點:
id val1 val2 1 40 60 2 60 40
我可以使用INSERT忽略以避免直接複製,但它並不與上面的一個工作。
我也試圖避免來自PHP的多個查詢,所以我問是否可以在PHP發送的一個SQL查詢中執行此操作。
插入時,只要檢查val1 <= val2
,如果是的話就插入它們,如果沒有切換它們。有了這個條件,您將始終確保重複值導致相同的插入。
我想通過應用程序代碼或數據庫觸發器強制執行此問題,以便在插入數據時保證val1 < val2。然後在(val1,val2)上創建一個唯一索引。
數據來自哪裏? – Nonym 2011-12-21 16:48:51
這些值是添加到玩家之間的用戶ID。 – inestical 2011-12-22 09:47:45