代码如下:
import pymysql
conn = pymysql.connect(host='127.0.0.1',
port=3306,
user='xxx'
passwd='xxx'
database=xxx
unicode=True
charset='utf8'
cursorclass=pymysql.cursors.DictCursor)
with conn.cursor() as cursor:
cursor.execute("INSERT INTO `role`(`role_name`, `role_name_zh`) VALUES (%(role_name)s, %(role_name_zh)s)", dict(role_name="role_name", role_name_zh="测试角色"))
cursor.commit()
...
执行时报错:
"Unknown column 'test_role' in 'field list'"
把插入的变量当成列了,直接写到字符串里,加上引号就好用,但是觉得这种方法太low
...
cursor.execute("INSERT INTO `role` (`role_name`, `role_name_zh`) VALUES ('%(role_name)s', '%(role_name_zh)s')", dict(role_name="role_name", role_name_zh="测试角色"))
...
请教下大家怎么处理这样的情况的?
字符串格式化么:
cursor.execute("INSERT INTO 'role' ('role_name', 'role_name_zh') VALUES ('{0}', '{1}')".format('role_name', '测试角色'))