mysql 用python在大表的每一行插入不同的UUID

lpwwtiir  于 2023-01-12  发布在  Mysql
关注(0)|答案(3)|浏览(158)

15
我有一个导入数据的表,表中有大约80k行。表结构如下:
订单行项目

  • 身份证
  • 订单标识
  • 产品标识
  • 数量
  • 价格
  • 液体

在导入时,导入了order_id、product_id、quantity和price,但uuid字段保留为空。
有没有一种方法,使用python的UUID()函数,批量添加一个uuid到表的每一行?我可以使用一个脚本循环通过每一行并更新它,但如果有python的解决方案,这将是最快的。

zbsbpyhn

zbsbpyhn1#

您可能需要为表/模型添加默认uuid并保存值

from uuid import uuid4
from sqlalchemy import Column, String

class Table(Base):
    __tablename__ = 'table'

    id = Column(String, primary_key=True, default=uuid4)
    # add other column

records =[] # records in dict 
sess = session() # database session

# save all records in db
sess.bulk_insert_mappings(Table, records)
sess.commit()
x3naxklr

x3naxklr2#

在列中添加/修改值的更Python的方法是使用map方法。您可以在此处找到更多详细信息:https://pandas.pydata.org/docs/reference/api/pandas.Series.map.html.
基本上,map所做的是根据函数Map列的值。
您的函数必须返回一个值,这样才能工作,并且您可以将列中的原始值作为参数。

wgeznvg7

wgeznvg73#

我相当肯定您可以在MySQL中使用UUID函数直接完成此操作。

UPDATE your_table_name SET uuid = UUID();

相关问题