用于格式字符串Python MySQL的参数不足
我在python中遇到了这个错误,我不知道如何解决它。对不起,我的英语不是我的母语: TypeError:格式字符串的参数不足 在我的数据库中,我有五行: id int 传感器内部 数据文本 数据类型文本 fechatimestamp 我做错了什么用于格式字符串Python MySQL的参数不足,python,mysql,Python,Mysql,我在python中遇到了这个错误,我不知道如何解决它。对不起,我的英语不是我的母语: TypeError:格式字符串的参数不足 在我的数据库中,我有五行: id int 传感器内部 数据文本 数据类型文本 fechatimestamp 我做错了什么 谢谢 这是因为值的数量与参数的数量不匹配 save_data = "INSERT INTO mediciones_historial VALUES('%s', '%s', '%s', '%s')" % (sensor, data, data_type
谢谢 这是因为值的数量与参数的数量不匹配
save_data = "INSERT INTO mediciones_historial VALUES('%s', '%s', '%s', '%s')" % (sensor, data, data_type, fecha)
这是因为值的数量与参数的数量不匹配
save_data = "INSERT INTO mediciones_historial VALUES('%s', '%s', '%s', '%s')" % (sensor, data, data_type, fecha)
在代码中:
save_data = "INSERT INTO mediciones_historial VALUES('%s', '%s', '%s', '%s')" % (sensor, data, data_type)
%s说明符的数目与您要传递的参数数目不匹配,而且表名后缺少列名
你必须根据表中的列来做
但是python总是有更好的选择
尝试使用以下方法:
save_data = "INSERT INTO mediciones_historial(column1,column2,column3) VALUES({0},{1},{2})".format(sensor, data, data_type)
但是您必须注意数据类型,即如果它是字符串或日期类型,则使用单引号“:”{0}而不是{0}
此外,上述内容似乎更易于理解和阅读: 在您的代码中:
save_data = "INSERT INTO mediciones_historial VALUES('%s', '%s', '%s', '%s')" % (sensor, data, data_type)
%s说明符的数目与您要传递的参数数目不匹配,而且表名后缺少列名
你必须根据表中的列来做
但是python总是有更好的选择
尝试使用以下方法:
save_data = "INSERT INTO mediciones_historial(column1,column2,column3) VALUES({0},{1},{2})".format(sensor, data, data_type)
但是您必须注意数据类型,即如果它是字符串或日期类型,则使用单引号“:”{0}而不是{0}
此外,上述内容似乎更易于理解和阅读: 谢谢你的回复。现在我有一个错误:列计数与第1行的值计数不匹配。明白了。您的表架构有5列,我们在insert查询中缺少fecha列。已经更新了我上面的帖子。谢谢回复。现在我有一个错误:列计数与第1行的值计数不匹配。明白了。您的表架构有5列,我们在insert查询中缺少fecha列。我已经更新了我上面的帖子。我很高兴它帮了我的忙。你也可以接受我的回答:这太可怕了。这容易受到SQL注入的攻击。executeINSERT到mediciones_HistoricalColumn1,column2,column3值%s,%s,%s,[传感器,数据,数据类型]@csharpcoder示例的第一个变体对我来说非常有效。我努力实现第二个,我很高兴它起了作用。你也可以接受我的回答:这太可怕了。这容易受到SQL注入的攻击。executeINSERT到mediciones_HistoricalColumn1,column2,column3值%s,%s,%s,[传感器,数据,数据类型]@csharpcoder示例的第一个变体对我来说非常有效。我努力实现第二个。