小编典典

MySQL-如果尚不存在则插入

sql

我要执行此MySQL查询:

INSERT INTOcron-stats(user) VALUES (".(int)$d['by-user'].")

每当此类用户尚不存在时,例如:

SELECT 1
FROM `cron-stats`
WHERE `user` = ".(int)$d['by-user']."

如何在一个查询中执行此操作?


阅读 166

收藏
2021-04-22

共1个答案

小编典典

您可以使用 ON DUPLICATE KEY UPDATE

INSERT INTO `cron-stats` (`user`) VALUES ('yourValue')
ON DUPLICATE KEY UPDATE user = user;

但是为了使INSERT语句执行得更好,您需要UNIQUE在column上设置一个索引user

如果该列还没有index,请执行以下语句,

 ALTER TABLE `cron-stats` ADD CONSTRAINT tb_un UNIQUE (`user`)
2021-04-22