if при insert в MySQL

zamanko

Новичок
Ситуация: из одной таблицы в другую. посредством MySQL переливаются данные, таким образом:
PHP:
insert into price (item_code, id_provider, id_price_group, price)
select item_code, id_provider, id_price_group, price, update_group
from price_import as t where id_user=730
on duplicate key update 
price=values(price), 
id_price_group=values(id_price_group)
Но нужно не обновлять поле id_price_group если update_group=0
Сделать нужно синтаксисом MySQL, что-то вроде:
PHP:
insert into price (item_code, id_provider, id_price_group, price)
select item_code, id_provider, id_price_group, price, update_group
from price_import as t where id_user=730
on duplicate key update 
price=values(price), 
if(t.update_group>0,id_price_group=values(id_price_group))
но так не работает
 

zamanko

Новичок
Дак перепишется значение в другой таблице, а нужно его оставить если t.update_group=0
 

Gas

может по одной?
а попробовать?

смысл в том, что поле обновлять прийдётся всегда, но в зависимости от условия новым значением, либо текущим.
 
Сверху