У меня есть таблица - config . Схема:
config_name | config_value
И я хотел бы обновить несколько записей одним запросом. Я так стараюсь:
UPDATE config
SET t1.config_value = 'value'
, t2.config_value = 'value2'
WHERE t1.config_name = 'name1'
AND t2.config_name = 'name2';
но этот запрос неверен :(
Вы можете помочь мне?
Ответы:
Попробуйте либо синтаксис обновления нескольких таблиц
Вот демонстрация SQLFiddle
или условное обновление
Вот демонстрация SQLFiddle
источник
config AS t1
гдеAS
это необязательно.Вы можете сделать это с помощью INSERT, как показано ниже:
Это вставляет новые значения в таблицу, но если первичный ключ дублируется (уже вставлен в таблицу), указанные вами значения будут обновлены, и та же запись не будет вставлена второй раз.
источник
в моем случае мне нужно обновить записи, которые больше 1000, для этого вместо того, чтобы нажимать запрос обновления каждый раз, когда я предпочел это,
78,77 - это идентификаторы пользователей, и для этих идентификаторов мне нужно обновить base_id 999 и 88 соответственно. Это работает для меня.
источник
может кому то будет полезно
для Postgresql 9.5 работает как прелесть
этот SQL обновляет существующую запись и вставляет новую (2 в 1)
источник
Решение Камиллы сработало. Превратил его в базовую функцию PHP, которая записывает оператор SQL. Надеюсь, это поможет кому-то другому.
источник
вместо этого
ты можешь использовать
источник
Выполните приведенный ниже код, чтобы обновить количество строк, где Parent ID - это идентификатор, из которого вы хотите получить данные, а Child ids - это идентификаторы, которые вам нужно обновить, поэтому вам просто нужно добавить родительский идентификатор и дочерние идентификаторы для обновления все строки вам нужны, используя небольшой скрипт.
источник
Предполагая, что у вас есть список значений для обновления в электронной таблице Excel с config_value в столбце A1 и config_name в B1, вы можете легко написать там запрос, используя формулу Excel, например
=CONCAT("UPDATE config SET config_value = ","'",A1,"'", " WHERE config_name = ","'",B1,"'")
источник
Выполните приведенный ниже код, если вы хотите обновить всю запись во всех столбцах:
и если вы хотите обновить все столбцы определенной строки, выполните следующий код:
источник