我在尝试插入表'produto'时收到此错误:
回溯(最后一次调用):文件“C:\Python33\Archive\MySQL-teste12.py”,第 278 行,inserir(cursor, cx2) 文件“C:\Python33\Archive\MySQL-teste12.py”,第 196 行,在 inserir cursor.execute(add_produto) 文件“C:\Python33\lib\site-packages\mysql\connector\cursor.py”中,第 415 行,在执行 self._handle_result(self._connection.cmd_query(stmt) ) 文件“C:\Python33\lib\site-packages\mysql\connector\connection.py”,第 593 行,在 cmd_query 结果 = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) 文件“C:\ Python33\lib\site-packages\mysql\connector\connection.py",第 515 行,在 _handle_result 中引发 errors.get_exception(packet) mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'dado' in 'field列表'
这是表格:
produto = """
CREATE TABLE produto (
prod_nu int(11) NOT NULL AUTO_INCREMENT,
nome varchar(30) NOT NULL,
data_lcm date NOT NULL,
preco int(11) NOT NULL,
PRIMARY KEY (prod_nu)
) ENGINE=InnoDB
"""
这是发生错误的插入过程:
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)"""% (va, 'input_date', 'vc')
#try:
cursor.execute(add_produto)
db.commit()
print("""
Inserção concluida com sucesso.
""")
#except:
# db.rollback()
# print("""
# Erro.
# """)
if menu3 == '99':
break
我尝试添加 * cursor.execute(*add_produto) 但我收到了不同的错误消息。插入值 va 和 vc 中的引号也弄乱了,但只给出了不同的错误消息。
谢谢你的帮助。