如何在没有UNIQUE索引或PRIMARY KEY的MySQL中使用ON DUPLICATE KEY UPDATE? [英] How to use ON DUPLICATE KEY UPDATE in MySQL without a UNIQUE index or PRIMARY KEY?
本文介绍了如何在没有UNIQUE索引或PRIMARY KEY的MySQL中使用ON DUPLICATE KEY UPDATE?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
MySQL手册指出:
The MySQL manual states:
如果指定ON DUPLICATE KEY UPDATE,并插入一行
将导致UNIQUE索引中的重复值或PRIMARY KEY
If you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY
如果您的表没有UNIQUE索引或PRIMARY KEY,该怎么办?但你不想复制一个列的条目(比如user_id)。
What if you have a table that does not have a UNIQUE index or PRIMARY KEY, but you don't want to duplicate an entry for a column (say user_id).
有没有办法在MySQL中做到这一点?
Is there a way to do it in MySQL?
推荐答案
INSERT INTO `table` (value1, value2)
SELECT 'stuff for value1', 'stuff for value2' FROM `table`
WHERE NOT EXISTS (SELECT * FROM `table`
WHERE value1='stuff for value1' AND value2='stuff for value2')
LIMIT 1
资料来源:如何在MySQL中'插入,如果不存在'?
这篇关于如何在没有UNIQUE索引或PRIMARY KEY的MySQL中使用ON DUPLICATE KEY UPDATE?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文