gpt4 book ai didi

python - SQLAlchemy Core - INSERT IGNORE 和 ON DUPLICATE KEY UPDATE

转载 作者:太空宇宙 更新时间:2023-11-03 14:49:51 28 4
gpt4 key购买 nike

我将 SQLAlchemy Core 与 MySQL 数据库一起使用,但很难找到针对 INSERT IGNORE/DUPLICATE KEY UPDATE 的解决方案。如果有办法处理这个问题,我讨厌在代码中手动编写一次性查询。我发现的大多数解决方案或讨论都围绕着 ORM,而不是核心。甚至其中一些是死链接。有可能吗?

最佳答案

我知道有点晚了..但如果有人还在寻找解决方案的话。

FOR:关于重复 key 更新

ins = insert(/* table_name*/ ).values(/*your values(with PK)*/)
do_update_stmt = ins.on_duplicate_key_update(/*your values(with out PK)*/)
connection.execute(do_update_stmt)

On duplicate key update docs

The ON DUPLICATE KEY UPDATE clause of INSERT supported by MySQL is now supported using a MySQL-specific version of the Insert object

sqlalchemy.insert() 不可用。

对于:插入忽略

这有点 hacky,但工作正常。

 ins_address_stmt = insert(/* table_name*/ ).values(/*your values*/). \
prefix_with('IGNORE')

Insert prefix_with

MySQL 将抑制重复主键的错误并给出警告。

关于python - SQLAlchemy Core - INSERT IGNORE 和 ON DUPLICATE KEY UPDATE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46654221/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com