我要执行此MySQL查询:
INSERT INTOcron-stats(user) VALUES (".(int)$d['by-user'].")
INSERT INTO
(
) VALUES (".(int)$d['by-user'].")
每当此类用户尚不存在时,例如:
SELECT 1 FROM `cron-stats` WHERE `user` = ".(int)$d['by-user']."
如何在一个查询中执行此操作?
您可以使用 ON DUPLICATE KEY UPDATE
ON DUPLICATE KEY UPDATE
INSERT INTO `cron-stats` (`user`) VALUES ('yourValue') ON DUPLICATE KEY UPDATE user = user;
但是为了使INSERT语句执行得更好,您需要UNIQUE在column上设置一个索引user。
INSERT
UNIQUE
user
如果该列还没有index,请执行以下语句,
index
ALTER TABLE `cron-stats` ADD CONSTRAINT tb_un UNIQUE (`user`)