python类NVARCHAR的实例源码

common.py 文件源码 项目:stock 作者: pythonstock 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def insert_db(data, table_name, write_index, primary_keys):
    # ??engine
    engine_mysql = engine()
    # ?? http://docs.sqlalchemy.org/en/latest/core/reflection.html
    # ????????????????
    insp = inspect(engine_mysql)
    col_name_list = data.columns.tolist()
    # ????????????varchar???
    if write_index:
        # ?????????
        col_name_list.insert(0, data.index.name)
    print(col_name_list)
    data.to_sql(name=table_name, con=engine_mysql, schema=MYSQL_DB, if_exists='append',
                dtype={col_name: NVARCHAR(length=255) for col_name in col_name_list}, index=write_index)
    # ????????
    if insp.get_primary_keys(table_name) == []:
        with engine_mysql.connect() as con:
            # ??????????
            try:
                con.execute('ALTER TABLE `%s` ADD PRIMARY KEY (%s);' % (table_name, primary_keys))
            except  Exception as e:
                print("################## ADD PRIMARY KEY ERROR :", e)


# ?????


问题


面经


文章

微信
公众号

扫码关注公众号