这两天开始学习python,遇到了一个让自己疑惑的地方,在连接mysql数据库后,简单的查询语句可以获取到结果,但加了where语句之后,各种报错。赋值SQL语句到数据库运行,是能直接获取到数据的。
运行完成后,并没有得到想要的结果
根据错误显示,是编码的方式不对。
修改SQL语句为:
select top 1 * from RecordTwo
结果正确。同样的charset,得到了数据,是因为在这里的where语句后面,跟的是中文,尝试修改SQL语句变为:
cursor.execute("select top 1 * from RecordTwo where id=%s", ('28',))
也是可以得到数据的,所以,问题在sf字段上。修改编码方式:
connect = pymssql.connect(host, username, password, database, charset="utf8")
果然得到了数据。但是结果因为编码改变而看不懂了。