python - mysql_exceptions.OperationalError : (1054, "Unknown column ' xxx'在 'field list'“)

标签 python mysql

这是我的Python代码:

import MySQLdb

db = MySQLdb.connect("127.0.0.1", "root", "liao", "adminset")
cursor = db.cursor()

for i in "liaogx":
    sql = """INSERT INTO cmdb_hostgroup(name, created_at, updated_at) VALUES (%s, "2018-01-31 07:50:26.879000", "2018-01-31 07:50:26.879000");""" % (i, )
    cursor.execute(sql)

db.close()

当我运行它时,错误信息是:Traceback(最近一次调用最后):

File "/root/Projects/adminset-master/cmdb/test.py", line 124, in <module>
    cursor.execute(sql)
  File "/root/.virtualenvs/adminset/lib/python2.7/site-packages/MySQLdb/cursors.py", line 250, in execute
    self.errorhandler(self, exc, value)
  File "/root/.virtualenvs/adminset/lib/python2.7/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
    raise errorvalue
_mysql_exceptions.OperationalError: (1054, "Unknown column 'l' in 'field list'")

MySQL 版本是 5.6.38。我没有从谷歌得到正确的答案,请帮忙。谢谢。

最佳答案

正如您在错误消息中看到的,“l”列未知。这是因为你的循环。我不认为你真的有一个列名“l”,而是一个列名“liaogx”。如果是这样,您必须将循环更改为:

for i in ["liaogx"]:  # I just add brackets
    sql = """INSERT INTO cmdb_hostgroup(name, created_at, updated_at) VALUES (%s, "2018-01-31 07:50:26.879000", "2018-01-31 07:50:26.879000");""" % (i, )
    cursor.execute(sql)

关于python - mysql_exceptions.OperationalError : (1054, "Unknown column ' xxx'在 'field list'“),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48543445/

相关文章:

python - 为雷达上的信号播放声音

mysql - SELECT * FROM mytable INNER JOIN 等好,但是 SELECT * FROM mytable WHERE... INNER JOIN 错误

python - mac osx 10.9.2 : error: command '/usr/bin/clang' failed with exit status 1 上的 mysql-python

python - 检查输入是否在 stdin 上可用并超时

python - 如何在 python pandas 中按自定义顺序排序?

mysql - MAMP Pro 看不到索引/

PHP 重定向用户(如果已登录)

mysql - 在 SELECT mysql 中使用 IF 和 JOIN 时出现错误

mysql - 在 docker 中连接到 mysql 失败

python - 什么语法更适合 python != 或者不是?