conn=#连接好的数据库
cursor=conn.cursor()
cursor.executr(sqls)
这个句子如果将sql语句作为sqls变量
import pymysql
conn=pymysql.connct(数据库配置)
cursor=conn.cursor()
sqls='selcet * from table where 条件=%s'%condition
cursor.execute(sqls)
#将字符串格式化的sql语句作为变量传入execute里面,如果上面的conditin是数字条件就不会报错,如果是字符串条件就会报错
#如果不用字符串格式化将sql语句作为字符串直接传入execute里面,
cursor.execute("""select * from table where condition""")
#就不会报错
.format我试了跟上面情况一样,也不行
这个是什么原因?求大神解答
pymysql.err.InternalError: (1054, "Unknown column '兴瀚资管' in 'where clause'")
这个列兴瀚资管'估计编码有问题,用utf8编码一下, 为了简单,最好列名用英文,这样可以少很多问题
少个引号,%s过去的字符串不会有引号的
比如"select * from table when a=%s"%'b'就会变成:
select * from table when a=b
实际上应该是
select * from table when a='b'才对
你没有写sqls的内容具体是什么。我刚开始学sql,教程里是这样写的
sql = 'SELECT * FROM `student` ORDER BY `db_id` LIMIT %s, %s;'
cursor = conn.cursor()
cursor.execute(sql, (offset, pagesize)) # 这里用元组的形式传入参数
另外你的拼写有错误,一般IDE应该会提示语法错误的