Python/MySQL 编程错误 : 1054 (42S22): Unknown column 'd' in 'field list'

标签 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
    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'`

正在尝试插入下表:

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):
    # 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')

now 设置为 'vb' 因为其中没有 strftime 指令。如果您正在寻找标准时间格式,那么 date.isoformat() 是不会出错的。这将使

now = input_date.isoformat()

关于Python/MySQL 编程错误 : 1054 (42S22): Unknown column 'd' in 'field list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149187/

相关文章:

MySQL 外键 - 如何跨表强制执行一对一?

mysql - mysql 导入时出现错误 #1064,mysql 5.5 到 mariadb 10.0

c++ - 将结构从 C++ dll 返回到 Python

python - 发布新媒体文件时文件名始终为空

python - Tensorflow 在预测序列的类别时对模型的(输入)维度存疑

python - 在现有的sqlite关系数据库中创建Index Elasticsearch

mysql - 我应该让数据库字段保存多长时间来保存用户代理字符串?

python - Ansible - 尝试 python3.5 时找不到 Virtualenv 可执行文件

mysql - 错误! MariaDB 服务器进程 #{pid} 未运行

MySQL:如果值发生变化,则从计数中删除