python中的pymssql Cursor.execute的参数问题

发布于 2022-09-12 23:53:06 字数 230 浏览 10 评论 0

看说明中这个函数有两个参数,operation和param,是配合使用的,在operation中指定格式化占位符(%s或%d),然后在param中指定值,占位符只支持%s和%d,如果是浮点数,不知道该怎么指定,%s和%d都试了,不行。sql语句:insert into dbms_cat(ct_id,ct_name,ct_value,ct_desc) values(%s,%s,%d,%s),如果ct_value是整型就可以,如果是浮点型就报错。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

明明#如月 2022-09-19 23:53:06

我一般这样:

cursor.execute(f"insert into t (a, b) values ('{text_value}', {float_value})")

也就是根据字段类型自己加上单引号,没搞过参数化的,因为没考虑注入问题。
用过cx_Oracle参数化的,是这个样的:

cursor.execute(f"insert into t (a, b) values (:a, :b)", a=text_value, b=float_value)

是否加单引号是cx_Oracle根据字段类型自动的,估计pymssql类似?

┾廆蒐ゝ 2022-09-19 23:53:06

直接用%s就行了,mysql会自动转换类型的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文