У меня есть база данных, которая сейчас подвергается рефакторингу.
В этом рефакторинге я переместил столбец из одной таблицы в другую.
В следующем запросе я создаю новую строку в таблице с 5 атрибутами.
Мне нужно изменить этот запрос так, чтобы , если таблица static.connected_shelf
содержит атрибут iot_device_type_fk
, его значение будет равно 2, и если этот атрибут не находится вза столом ничего не случится.
cursor.execute("""
INSERT INTO static.connected_shelf(name, is_active, local_tz_offset, store_fk, template_fk)
SELECT %(shelf_name)s, %(is_active)s, %(local_tz_offset)s, S.pk, T.pk
FROM static.stores S, static.template T
WHERE S.name=%(store_name)s
AND T.name=%(template_name)s
""", {'shelf_name': shelf_name, 'is_active': is_active, 'store_name': store_name,
'template_name': template_name,
'iot_device_type_name': iot_device_type_name, 'local_tz_offset': local_tz_offset})