首页 > 解决方案 > 截断表并将数据帧插入 SQL,仅当数据帧可以成功插入时

问题描述

我需要截断一个 SQL 表,然后插入一个 pandas 数据框。我的问题是,有时我遇到边缘情况并且表将被截断,但数据框将在数据库中的不可空字段中具有空值......这导致我的表被截断但没有新数据被插入。

仅当我的数据框是“可插入的”时,如何截断表?

sql_engine = sqlalchemy.create_engine('sql_connection_string')
sql_engine.execute(sqlalchemy.text('TRUNCATE TABLE dbo.customers').execution_options(autocommit=True))
df.to_sql('customers', sql_engine, schema='dbo', if_exists='append', index=False)

我尝试使用if_exists='replace'而不是截断,但这会删除表并创建一个新模式

标签: pythonpython-3.xpandas

解决方案


推荐阅读