如何在没有UNIQUE索引或PRIMARY KEY的MySQL中使用ON DUPLICATE KEY UPDATE? [英] How to use ON DUPLICATE KEY UPDATE in MySQL without a UNIQUE index or PRIMARY KEY?

查看:110
本文介绍了如何在没有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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆