python - 违反 UNIQUE KEY 约束 - Pandas to_sql Python SQLAlchemy
问题描述
我正在尝试使用 Pandas to_sql 方法将数据框输入到 SQL Server 数据库中,但出现错误:
'23000', "[23000] [Microsoft][SQL Server Native Client 11.0][SQL Server]违反 UNIQUE KEY 约束...无法在对象中插入重复键
其他人在这里发布了类似的问题: Pandas to_sql 'append' to an existing table cause Python crash
然而,他的解决方案基本上是他需要删除主键的重复项,因为他多次提交主键。我什至没有尝试提交主键,我希望 SQL Server 分配它。这是我调用的方法:
df.to_sql('table_name', engine, if_exists='append', index=False, chunksize=1000)
我知道引擎可以连接到数据库,因为如果我使用 read_sql 方法,它可以很好地从数据库中返回数据。我只是无法写入数据库,当我什至不尝试触摸主键时,它显然会看到我重新使用主键。任何人都可以帮忙吗?
解决方案
我想我想通了。数据库设置为不允许相同的名称和地址 1 字段,我的数据与地址 1 有一些重复但地址 2 不同。需要对数据库进行一些更改,然后重试。我将留下我的问题,以帮助可能遇到类似问题的其他人。
推荐阅读
- android-studio - 如何通过 wifi-direct 发送应用程序的 recyclerview 列表
- node.js - Nginx Ingress Controller 在带有前缀路由的 Node.js 应用程序中出现错误
- java - 为什么它显示错误':app:checkDebugDuplicateClasses'
- ssh - 无法使用密钥文件“C:\GIT\HOME\.ssh\id_rsa”(OpenSSH SSH-2 私钥(新格式))
- java - 如何在导航视图的一侧添加可见箭头?
- android - Android中的“tob状态”是什么?
- c++ - 合并两个排序链表时出现 HackerRank 分段错误
- python - 在熊猫系列python中查找字符串
- python - ModuleNotFoundError:没有名为“torch.utils.benchmark”的模块
- firebase - 数据存储在firebase数据库中并没有发生在flutter中的真实设备中