由于重复,下面的 sql 查询我需要运行更新而不是插入。
Insert into test_reports (Table_Name, Total_Count) SELECT "West Midlands", COUNT(1) FROM table1 where location = 'West Midlands'
谢谢
处理这个问题的一个好方法是区分什么时候没有以前的记录和什么时候有以前的记录。为此,您可以使用INSERT的ON DUPLICATE KEY短语:
INSERT INTO **INSERT-PHRASE** ON DUPLICATE KEY **UPDATE-PHRASE**
改为使用REPLACE INTO
。
更多信息:http: //dev.mysql.com/doc/refman/5.0/en/replace.html
请注意,尽管它会在插入之前删除,因此不在查询中的任何字段都将设置为其默认值。如果您不想要这种行为,请使用UPDATE
.