выборочное обновление записей MySQL - если значение целевого поля равно NULL, 0 или пустое

Необходимо выбрать записи по условию (например, диапазон id) из исходной table1 и обновить (вставить в) записи table2 с аналогичными id - только в те поля, которые равны NULL, 0 или пустые. Как это сделать, не указывая имя каждого поля отдельно (полей очень много)?


Ответы (2 шт):

Автор решения: teran

Потенциально как-то так

 UPDATE t1
 INNER JOIN t2 ON (
        t1.id = t2.id
        AND t2.id between 100 and 200
     )
 SET t1.field = t2.field
 WHERE t1.field IS NULL
       OR t1.field = 0 
       OR t1.field = '' 
→ Ссылка
Автор решения: Akina

Использование построения текста запроса и выполнение динамического SQL.

DEMO

→ Ссылка