cari

Rumah  >  Soal Jawab  >  teks badan

python - kumpulan sqlalchemy memasukkan data, lajur data tidak sama

# 初始化数据库连接:
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()

Jika kunci semua kamus dalam data sisipan kelompok konsisten, data boleh disimpan

Selagi satu kunci tiada daripada kamus dalam Senarai, keseluruhan lajur akan diabaikan

Situasi sebenar mempunyai banyak lajur dan banyak data yang hilang Adakah terdapat sebarang penyelesaian atau kaedah lain?

atau akan

rows = [
    {"name":"aaa"},
    {"name":"aaa"},
    {"name":"aaa"},
    {"name":"aaa"},
    {"name":"bbb","otherdata":"exist_col",....},
]

Tukar kepada

rows = [
    {"name":"aaa","otherdata":"",....},
    {"name":"aaa","otherdata":"",....},
    {"name":"aaa","otherdata":"",....},
    {"name":"aaa","otherdata":"",....},
    {"name":"bbb","otherdata":"exist_col",....},
]
伊谢尔伦伊谢尔伦2727 hari yang lalu946

membalas semua(1)saya akan balas

  • 習慣沉默

    習慣沉默2017-06-14 10:54:50

      Apabila mentakrifkan skema
    1. , gunakan nullable=False

    2. Gunakan session.add_all

    balas
    0
  • Batalbalas