0

我本来希望在 MySQL 中的 ON DUPLICATE KEY UPDATE 语句上使用 WHERE 语句,但是我知道你不能这样做。我希望我的陈述是这样的..

INSERT INTO table1(name, user, num_users) 
VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE 
num_users = SELECT COUNT(users.table2) WHERE name=%s)
(name, user, 1, name))    

因此,如果有人知道如何在一个命令中执行此操作,那就太好了。

谢谢,

4

1 回答 1

0

您可以在子句中使用WHERE和子查询。ON DUPLICATE KEY UPDATE尝试使用正确的语法SELECT。我认为这是错误的:

SELECT COUNT(users.table2) WHERE name=%s

表 2 是表吗?在那种情况下,事情就完全不对了。如果它是一个字段,请尝试以下操作:

SELECT COUNT(table2) FROM users WHERE name=%s
于 2013-04-24T00:36:22.007 回答