我不是指两个恰好是相同的行。避免在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