Python没有写入MySQL(类型错误:格式需要映射)

时间:2016-04-27 20:29:33

标签: python mysql mapping

我正在使用python程序将数据记录到MySQL数据库。已建立数据库连接,但在写入日志时出现以下错误Type Error: format requires a mapping

感兴趣的代码如下:

MySQL表:

CREATE TABLE pidRun
(
pidKey INT auto_increment PRIMARY KEY,
pidSetPoint INT,
pidMeasure FLOAT,
pidError FLOAT,
integrator FLOAT,
derivator FLOAT
);

Python代码:

# Insert a new line to table pidRun
add_pidRun = ("INSERT INTO pidRun "
              "(pidSetPoint, pidMeasure, pidError, integrator, derivator)"
              "VALUES (%(pidSetPoint)i, %(pidMeasure)f, %(pidError)f, %(integrator)f, %(derivator)f)")

然后在必要点插入行的代码在这里:

data_pidRun = (pidControl.getPoint(), centSpeed, errSpeed, 0.0, 0.0) cursor.execute(add_pidRun, data_pidRun) dBase.commit()

pidControl.getPoint是一个整数

centSpeed是一个浮动

errspeed是一个浮动

任何方向都非常感谢。

1 个答案:

答案 0 :(得分:0)

正如错误所示,像state这样的占位符需要将映射传递给%(pidSetPoint)。由于您使用元组,请将占位符更改为cursor.execute()

"%s"

您无需指定值的类型。