【问题标题】:Error when inserting row to table with MySQLdb使用 MySQLdb 向表中插入行时出错
【发布时间】:2013-09-09 09:59:13
【问题描述】:

下面有什么问题?

import MySQLdb as mysql
import datetime

db = mysql.connect("localhost","root","passworld","employees" )
cursor = db.cursor()

sql = "INSERT INTO employee(id, firstname, surname, sex, employmentdate) VALUES (%s, %s, %s, %s, '%s')" %(id, firstname, surname, sex, employmentdate)

dater = datetime.datetime(2005,1,1)
cursor.execute(["012345","Mark", "Rooney", "M", dater])

OperationalError: (1054, "Unknown column 'Mark' in 'field list'")

【问题讨论】:

  • 您将 id、firstname、surname、sex、employmentdate 设置为什么?您可以从查询浏览器或 mysql 命令行直接将完全相同的插入字符串与 mysql 一起使用吗?

标签: python mysql sql mysql-python


【解决方案1】:

您应该将您的 sql 语句和参数传递给cursor.execute()

sql = "INSERT INTO employee(id, firstname, surname, sex, employmentdate) VALUES (%s, %s, %s, %s, '%s')"
cursor.execute(sql, ["012345","Mark", "Rooney", "M", dater])
db.commit()

【讨论】:

    猜你喜欢
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 2012-02-05
    • 2015-10-09
    • 1970-01-01
    • 2019-06-15
    • 1970-01-01
    相关资源
    最近更新 更多