我有一个SQL Server表,该表在InsertedDate
列上具有默认值:
CREATE TABLE MyTable
(
RowID int,
Date datetime DEFAULT(GETDATE())
)
我想创建一个接受字典作为输入的函数。它可能有也可能没有密钥Date
:
import sqlalchemy as sa
def insert(data, engine):
meta = sa.MetaData()
table = sa.Table('MyTable', meta, autoload=True, autoload_with=engine)
ins = table.insert().values(
RowID=data['RowID'],
Date=data.get('Date', ???) # what to put here?
)
with engine.connect() as conn:
conn.execute(ins)
我应该如何编写它,以便如果在字典中提供Date
,它将被使用。如果data
没有Date
,则使用数据库中定义的默认值。实际的默认值是由复杂的CLR函数生成的,我不想在Python中重新创建。