如果列存在,则在SQL中编辑默认值

时间:2019-05-20 14:01:05

标签: mysql insert sql-insert

我有一个正在进行重构的数据库。
在该重构中,我将一列从一个表移动到了另一个表。
在以下查询中,我在表中创建具有5个属性的新行。
我需要更改此查询,以便 if 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})

0 个答案:

没有答案