MySQL-如果尚不存在则插入 [英] MySQL - insert if doesn't exist yet
本文介绍了MySQL-如果尚不存在则插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我要执行此MySQL查询:
I want to execute this MySQL query:
INSERT INTO `cron-stats` (`user`) VALUES (".(int)$d['by-user'].")
每当不存在这样的用户时,例如:
Whenever such user doesn't exist yet, as in:
SELECT 1
FROM `cron-stats`
WHERE `user` = ".(int)$d['by-user']."
如何在一个查询中执行此操作?
How can I execute this in one query?
推荐答案
您可以使用ON DUPLICATE KEY UPDATE
INSERT INTO `cron-stats` (`user`) VALUES ('yourValue')
ON DUPLICATE KEY UPDATE user = user;
- 重复键更新
- ON DUPLICATE KEY UPDATE
,但是为了更好地执行INSERT
语句,您需要在列user
上设置UNIQUE
索引.
but in order to perform the INSERT
statement well, you need to set a UNIQUE
index on column user
.
如果该列还没有index
,请执行以下语句,
if the column has no index
yet, execute the statement below,
ALTER TABLE `cron-stats` ADD CONSTRAINT tb_un UNIQUE (`user`)
这篇关于MySQL-如果尚不存在则插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文