如何运行更新查询而不是为计数插入(1)

时间:2013-05-23 06:44:44

标签: mysql sql

以下sql查询我需要运行更新而不是因为重复而插入。

Insert into test_reports (Table_Name, Total_Count) SELECT "West Midlands", COUNT(1) FROM table1 where location = 'West Midlands'    

由于

2 个答案:

答案 0 :(得分:1)

处理这个问题的一个好方法是区分何时没有先前的记录和何时有前一个记录。为此,您可以使用INSERT的ON DUPLICATE KEY短语:

INSERT INTO **INSERT-PHRASE** ON DUPLICATE KEY **UPDATE-PHRASE**

答案 1 :(得分:0)

改为使用REPLACE INTO

更多信息:http://dev.mysql.com/doc/refman/5.0/en/replace.html

请注意,它会在插入之前删除,因此查询中不包含的任何字段都将设置为默认值。如果您不想要这种行为,请使用UPDATE