Python发送包含where的SQL语句,cursor值为None,返回值为空

在学习Python连接MySQL时,发现在执行包含where的SQL语句时遇到编码问题,导致结果为空。通过调整SQL语句的编码方式,成功解决了问题。在where后跟随中文字符时,需要正确处理字符编码,才能正确获取和显示数据。
摘要由CSDN通过智能技术生成

        这两天开始学习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")

果然得到了数据。但是结果因为编码改变而看不懂了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值