gpt4 book ai didi

python - 使用 MySQL python 模块插入或更新行是否存在

转载 作者:行者123 更新时间:2023-11-29 08:04:40 28 4
gpt4 key购买 nike

我正在使用 MySql 和 python MySQLdb 模块。我想插入新行或更新某些字段(如果该行已存在)。

包含要输入的值的元组列表如下所示;

ListTuple=[('A_val', 'B_val', 'C_val', 'D_val', 'C_val'), ('AA_val', 'BB_val', 'CC_val', 'DD_val', 'CC_val')]

MySQL 查询如下所示;

query="""INSERT INTO table (A, B, C, D)
VALUES (%s, %s, %s, %s)
ON DUPLICATE KEY UPDATE
C= %s
"""

try:
Cursor.executemany(query, ListTuple)
Db_conn.commit()
except:
Db_conn.rollback()

此代码查询执行失败。有人可以指出它有什么问题吗?非常感谢您的帮助。

最佳答案

试试这个:

query="""INSERT INTO table (A, B, C, D)
VALUES (%s, %s, %s, %s)
ON DUPLICATE KEY UPDATE
C= VALUES(C)
"""

您的查询有 5 个占位符,但您的元组只有 4 个值。您需要复制 C,但 VALUES(C) 选项会自动从原始 VALUES 子句中获取该值。

关于python - 使用 MySQL python 模块插入或更新行是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22978027/

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