Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python/MySQL编程错误:1054(42S22):未知列';d';在';字段列表';_Python_Mysql - Fatal编程技术网

Python/MySQL编程错误:1054(42S22):未知列';d';在';字段列表';

Python/MySQL编程错误:1054(42S22):未知列';d';在';字段列表';,python,mysql,Python,Mysql,我的程序在执行要插入数据库的函数后向我发送以下错误消息: Traceback: `Traceback (most recent call last): File "C:\Python33\Archive\MySQL-teste12.py", line 275, in <module> inserir(cursor, cx2) File "C:\Python33\Archive\MySQL-teste12.py", line 193, in inserir cu

我的程序在执行要插入数据库的函数后向我发送以下错误消息:

Traceback:
`Traceback (most recent call last):
  File "C:\Python33\Archive\MySQL-teste12.py", line 275, in <module>
    inserir(cursor, cx2)
  File "C:\Python33\Archive\MySQL-teste12.py", line 193, in inserir
    cursor.execute(add_produto)
  File "C:\Python33\lib\site-packages\mysql\connector\cursor.py", line 415, in execute
    self._handle_result(self._connection.cmd_query(stmt))
  File "C:\Python33\lib\site-packages\mysql\connector\connection.py", line 593, in cmd_query
    result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query))
  File "C:\Python33\lib\site-packages\mysql\connector\connection.py", line 515, in _handle_result
    raise errors.get_exception(packet)
mysql.connector.errors.ProgrammingError: 1054 (42S22): Unknown column 'd' in 'field list'`
以下是发生错误的过程。我相信它不接受任何形式的日期。我尝试过许多变体,但都不起作用:

def inserir (cursor, db):
    # excess code removed                
    vb = input('Digite a data de Lançamento do Produto (Ano/mês/dia).')
    now = time.strftime('vb')
    …
    add_produto = ("""INSERT INTO produto(nome,
                      data_lcm, preco)
                      VALUES (%s, %s, %s)""" % (va,vb,vc))

    cursor.execute(add_produto)
            …

有两个问题,第一个问题是您从未创建
date
对象。根据您的指示(Ano/mês/dia),这将类似于

input_date = datetime.strptime(input_string, '%Y/%m/%d')
第二个问题是

now = time.strftime('vb')
现在将
设置为
'vb'
,因为其中没有strftime指令。如果您正在寻找一种标准的时间格式,那么很难出错,因为这会导致错误

now = input_date.isoformat()

请尽量在问题中只包含相关代码。这样可以更容易地发现问题所在。另外,不要忘记解析查询,而不是将值作为参数传递(
%(va、vb、vc)
now = input_date.isoformat()