# 初始化数据库连接:
engine = create_engine("xxxxx")
# 创建DBSession类型:
DBSession = sessionmaker(bind=engine)
session = DBSession()
# 测试没有问题的数据
rows_ok = [
{"name":"aaa","otherdata":"exist_col_aaa"},
{"name":"bbb","otherdata":"exist_col"},
]
# 测试出问题的数据
rows = [
{"name":"aaa"},
{"name":"bbb","otherdata":"exist_col"},
]
# User中有name,otherdata字段
session.execute(User.__table__.insert(),rows)
session.commit()
session.close()
Wenn die Schlüssel aller Wörterbücher in den Batch-Einfügungsdaten konsistent sind, können die Daten gespeichert werden
Solange ein Schlüssel im Wörterbuch in der Liste fehlt, wird die gesamte Spalte ignoriert
Die reale Situation hat viele Spalten und viele fehlende Daten. Gibt es eine Lösung oder andere Methoden?
oder wird
rows = [
{"name":"aaa"},
{"name":"aaa"},
{"name":"aaa"},
{"name":"aaa"},
{"name":"bbb","otherdata":"exist_col",....},
]
Konvertieren in
rows = [
{"name":"aaa","otherdata":"",....},
{"name":"aaa","otherdata":"",....},
{"name":"aaa","otherdata":"",....},
{"name":"aaa","otherdata":"",....},
{"name":"bbb","otherdata":"exist_col",....},
]
schema定义的时候, 用
nullable=False
用
session.add_all