使用多个键在一个查询中插入和更新

时间:2015-10-08 16:54:47

标签: mysql

我正在尝试查找如果是重复条目则会更新的查询,否则会插入。我尝试了各种解决方案,但没有任何作用,请帮助我。

我的代码是:

INSERT INTO yourtable (name, phonecode,value)
VALUES ('bar',91,'300')
ON DUPLICATE KEY UPDATE name='dgdgf'

enter image description here

这里出现的问题是我的电话代码和值是需要检查插入或更新的密钥,但是使其中任何一个主要允许重复输入和唯一不允许我重复输入,如果任何一个行数据相同。

1 个答案:

答案 0 :(得分:2)

放置多列UNIQUE索引:

ALTER TABLE yourTable
ADD UNIQUE INDEX idx_ph_val (phonecode, value)

现在,在执行上述ALTER语句后,当您尝试插入重复行时,ON DUPLICATE KEY UPDATE将按您的意愿执行。

修改

SQLFiddle链接,符合commentshttp://sqlfiddle.com/#!9/be84b/1

的要求