pandas mysql主键_使用Autoincrement将Pandas Dataframe插入MySQL表自动生成主键

本文介绍如何处理在将Pandas DataFrame插入到MySQL表时自动生成主键的问题。在尝试删除旧数据并插入更新数据的过程中,遇到'OperationalError',因为'allocationid'主键没有默认值。作者探讨了不同的尝试,如添加空主键列或赋予特定值,但遇到了错误。寻求如何在Python中实现类似MySQL自动递增主键的功能。
摘要由CSDN通过智能技术生成

我有一个Pandas数据帧,我正试图使用MySQLdb和to-sql将其插入到MySQL表中。该表的主键为'allocationid',并且为autoincrement。。我希望每天都这样做,从MySQL表中删除一天之前的数据,并从Pandas dataframe中重新插入更新的数据。因此希望主键自动递增(我不会在下面使用它,但可能需要引用它)。在

代码是。。。在columns = ('date','tradeid','accountid','amount')

splitInput = pd.DataFrame(columns = columns)

splitInput['accountid'] = newHFfile['acctID']

splitInput['tradeid'] = newHFfile['Ref']

splitInput['amount'] = newHFfile['AMOUNT1']

splitInput['date'] = newHFfile['Trade Date']

db = MySQLdb.connect(host="(hostIP)", port=3306, user="user", passwd="(passwd)", db="(database)")

cursor = db.cursor()

query = """delete from splittrades where date = """ + runymdformat + """ """

cursor.execute(query)

db.commit()

splitInput.to_sql(con = db, name = 'splittrades',if_exists = 'append',flavor = 'mysql',index = False)

db.commit()

db.close()

问题是没有为主键添加列,我得到的是'OperationalError:(1364,“字段'allocationid'没有默认值”)'

如果我添加一个主键列并将其留空,则会得到operational error:(1366,“第1行的列”“allocationid”“的整数值不正确:”“”)

如果在allocationid列中使用1或0,则会得到一个重复值error msg。在

如果不指定主键,MySQL通常会自动递增主键—有没有办法让我从Python中实现这一点?在

PS不是Python专家,所以请温柔地对待我-谢谢:-)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值