下表是我的MySQL字段数据
名为infor
的表
+-------------+-------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+-------------------+----------------+
| id | bigint(7) | NO | PRI | NULL | auto_increment |
| temperature | varchar(20) | YES | | NULL | |
| wet | varchar(20) | YES | | NULL | |
| created | timestamp | NO | | CURRENT_TIMESTAMP | |
+-------------+-------------+------+-----+-------------------+----------------+
当我想上传数据到我的MySQL服务器
我使用以下代码:
temperature_item = '8.7`c'
wet_item = '0.87%'
cur.execute("INSERT INTO infor (temperature,wet) VALUES (temperature_item,wet_item)")
然后显示以下错误:
pymysql.err.InternalError: (1054, "Unknown column 'wet_item' in 'field list'")
但当我打字时:
cur.execute("INSERT INTO infor (temperature,wet) VALUES ('87`c','8.7%')")
它可以工作,我已经搜索了前面的问题
我加上那个不可打印的字了吗?还是另一个问题?你知道吗
我对python不是很了解,但是https://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-select.html,似乎应该在执行时传递参数。你知道吗
所以如果你试着这样做:
Python在字符串中没有变量扩展。所以在
Python不会用它的值替换变量名。(python怎么知道你什么时候想要这个?)你知道吗
python中的一般解决方案是
.format()
方法:它将大括号替换为
s
的值。你知道吗但是在这个特定的实例中(使用数据库),更好的解决方案是
这是DB接口插入变量值的方式。 这是更好的方法,因为它还可以确保这种情况不会发生:
那就糟了。你知道吗
相关问题 更多 >
编程相关推荐