#php #mysql #insert
#php #mysql #вставить
Вопрос:
Я создаю таблицу конфигурации с двумя столбцами: 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 уже существует?
Комментарии:
1. Читать: dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html
Ответ №1:
Вы могли бы попробовать этот синтаксис:
INSERT INTO table (field) VALUES (value) ON DUPLICATE KEY UPDATE field=value
Документы можно найти здесь.
Комментарии:
1. Это то, на что я смотрел, но я обновляю только 1 поле с несколькими значениями, которые ищутся и обновляются в нем (config_name)
2. На самом деле, после небольшой игры мне удалось заставить это работать.
Ответ №2:
Вы пытаетесь выполнить обновление, и я думаю, что это может помочь:http://database-programmer.blogspot.com/2009/06/approaches-to-upsert.html