现在我只是
INSERT INTO MY_TABLE (VAL1, VAL2)
SELECT VAL1, VAL2 FROM OTHER_TABLE;
但是,如果
MY_TABLE
已经有值(1, 2)
,我不想让它插入(2,1)
如果(2,1)
在OTHER_TABLE
中;有没有办法做到这一点,甚至在创建表的时候?
我已经尝试过
ALTER
表并创建一个UNIQUE
约束,但它不考虑重复项 最佳答案
试试这个。
SELECT VAL1,
VAL2
FROM OTHER_TABLE a
WHERE NOT EXISTS (SELECT 1
FROM my_table b
WHERE ( a.val1 = b.val2
AND a.val2 = b.val1 )
OR ( a.val1 = b.val1
AND a.val2 = b.val2 ))
关于mysql - 不要在SQL中插入重复项的任何组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28184977/