gpt4 book ai didi

Python/MySQL 类型错误 : execute() takes from 2 to 4 positional arguments but 5 were given

转载 作者:太空宇宙 更新时间:2023-11-03 12:17:26 24 4
gpt4 key购买 nike

尝试插入数据库后发生错误。执行后我收到以下回溯:

Traceback (most recent call last):
File "C:\Python33\Archive\MySQL-teste12.py", line 278, in <module>
inserir(cursor, cx2)
File "C:\Python33\Archive\MySQL-teste12.py", line 196, in inserir
cursor.execute(add_produto, va, input_date, vc)
TypeError: execute() takes from 2 to 4 positional arguments but 5 were given

尝试插入数据库后,执行时发生错误。这是代码:

def inserir (cursor, db):
menu3 = 0
while menu3 != 99:
print("""
----- Menu Banco MARK II, v.1.00, MySQL, VR -----

----- Menu de Inserção ----


1.Inserir em produto.
2.Inserir em cliente.
3.Inserir em empregado.
4.Inserir em salario.
99.Sair.

""")
menu3 = input("Digite sua Opção")

if menu3 == '1':
va = input("""

Digite o Nome do Produto.

""")

vb = input("""

Digite a data de Lançamento do Produto (Ano/mês/dia).

""")
input_date = datetime.strptime(vb, '%Y/%m/%d')

vc = input("""

Digite o Preço do Produto (ex: 20, 20.33).

""")

add_produto = """INSERT INTO produto(nome,
data_lcm, preco)
VALUES (%s, %s, %s)"""

#try:
cursor.execute(add_produto, va, input_date, vc)
db.commit()
print("""
Inserção concluida com sucesso.

""")
#except:
# db.rollback()
# print("""

# Erro.

# """)
if menu3 == '99':
break

感谢您的帮助。

最佳答案

问题是 cursor.execute 的参数需要指定为一个元组,而不是单独指定。

尝试替换

        cursor.execute(add_produto, va, input_date, vc)

        cursor.execute(add_produto, (va, input_date, vc))

关于Python/MySQL 类型错误 : execute() takes from 2 to 4 positional arguments but 5 were given,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19238781/

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