MySQL INSERT еще, если существует ОБНОВЛЕНИЕ - PullRequest
2 голосов
/ 05 ноября 2011

Я строю таблицу конфигурации с двумя столбцами: 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_value, если имя config_name уже существует?

Ответы [ 2 ]

7 голосов
/ 05 ноября 2011

Вы можете попробовать этот синтаксис:

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

Документы можно найти здесь .

0 голосов
/ 05 ноября 2011

Вы пытаетесь сделать upsert, и я думаю, что это может помочь: http://database -programmer.blogspot.com / 2009/06 / подходы к upsert.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...