【问题标题】:I cannot INSERT INTO Variable to MYSQL with Python3我无法使用 Python3 将变量插入到 MYSQL
【发布时间】:2017-06-22 07:53:41
【问题描述】:
import MySQLdb
# Open database connection
payload_list = ["10","20","30","40"]
db = MySQLdb.connect("localhost","","","iot" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
sql = "INSERT INTO iot_data (data_ip,data_mac,data_humidity,data_temp,data_time) VALUES('%s', '%s', '%s', '$s', NOW()))"
cursor.execute("INSERT INTO iot_data (data_ip,data_mac,data_humidity,data_temp,data_time) VALUES('%s', '%s', '%s', '$s', NOW()))",(payload_list))

# Fetch a single row using fetchone() method.
db.commit()

# disconnect from server
db.close()

错误

Traceback(最近一次调用最后一次):文件“db.py”,第 13 行,在 cursor.execute("INSERT INTO iot_data (data_ip,data_mac,data_humidity,data_temp,data_time) VALUES('%s', “%s”、“%s”、“$s”、 现在()))”,(有效载荷列表[0],有效载荷列表[1],有效载荷列表[2],有效载荷列表[3],)) 文件“/usr/lib/python3/dist-packages/MySQLdb/cursors.py”,第 210 行,在 执行 query = query % args TypeError: 在字符串格式化期间并非所有参数都转换

【问题讨论】:

  • 尝试删除%s周围的引号
  • 谢谢,很有用的回答

标签: mysql python-3.x sql-insert


【解决方案1】:

这是我的解决方案

#!/usr/bin/python3
import datetime
import MySQLdb
# Open database connection
payload_list = ["HI",2,3,4]
db = MySQLdb.connect("localhost","","","iot" )

# prepare a cursor object using cursor() method
cursor = db.cursor()
your_date = "2017-01-12 19:51:44"
# execute SQL query using execute() method.

sql = """INSERT INTO iot_data (data_ip,data_mac,data_humidity,data_temp,data_time) VALUES(%s, '%s', '%s', '%s', NOW())"""
cursor.execute(sql,payload_list)

# Fetch a single row using fetchone() method.
db.commit()

# disconnect from server
db.close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    相关资源
    最近更新 更多