@Alesk89

Как реализовать(SQL) массовое обновление ячеек таблицы с привязкой по id строки?

Есть таблица с множеством столбцов(10). PRIMARY KEY - id
Нужно по привязке к id обновить данные в некоторых столбцах. Массово, за один запрос.
id должен остаться прежним.
Погуглил и попробовал запрос ниже.

Выполнение не дает результата
Affected rows: 0 Найденные строки: 0 Предупреждения: 0


INSERT INTO tab_copy (`id`, `dat`, `status`) VALUES (1, 'hf',2), (2,'2222',2), (3,'3333',2) ON DUPLICATE KEY
UPDATE `id`= VALUES(`id`)


Как максимально эффективно массово обновлять данные в таблице?
PHP Mysql
  • Вопрос задан
  • 436 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Если `id` - PRIMARY KEY или UNIQUE, то его менять при коллизии не надо.
... ON DUPLICATE KEY UPDATE `dat`= VALUES(`dat`), `status` = VALUES(`status`)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
savostin
@savostin
Еще один программист
Update id = id
Без values.
Должно работать.
Еще попробуйте replace вместо insert и без on duplicate...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы