MySQL INSERT else如果存在UPDATE

时间:2011-11-04 23:55:49

标签: php mysql insert

我正在构建一个包含两列config_name和config_value的配置表。我在一个语句中插入多行:

INSERT INTO ".$dbPrefix."config (config_name,config_value) VALUES
             ('domain','$domain'),
             ('forest_root','$fr_if'),
             ('userGroup','$userGroup'),
             ('adminGroup','$adminGroup');

config_name列是主键。如果config_name已经存在,我如何更改此语句以自动更新config_value?

2 个答案:

答案 0 :(得分:7)

您可以尝试以下语法:

INSERT INTO table (field) VALUES (value) ON DUPLICATE KEY UPDATE field=value

可以找到文档here

答案 1 :(得分:0)

你正试图做一个upsert,我认为这可能会有所帮助: http://database-programmer.blogspot.com/2009/06/approaches-to-upsert.html