使用WHERE和COUNT条件进行DUPLICATE KEY UPDATE ......?

时间:2013-04-23 18:40:55

标签: mysql mysql-python

我本来希望在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))    

因此,如果有人知道如何在一个命令中做到这一点,这将是伟大的。

谢谢,

1 个答案:

答案 0 :(得分:0)

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

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

table2是一张桌子吗?在那种情况下,有一些完全错误的东西。如果它是一个字段,请试试这个:

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