psycopg2插入元组数据时标点符号报错

psycopg2插入元组数据时标点符号报错,第1张

写代码时遇到了个小坑,使用excute向数据库插入字符串时"."和":"一直报错。
查阅官方文档,我们可以看到官方的 *** 作:

cur.execute("INSERT INTO foo VALUES (%s)", "bar")    # WRONG
cur.execute("INSERT INTO foo VALUES (%s)", ("bar"))  # WRONG
cur.execute("INSERT INTO foo VALUES (%s)", ("bar",)) # correct
cur.execute("INSERT INTO foo VALUES (%s)", ["bar"])  # correct`

不直接使用python提供的插值语法,而是将元组作为参数传入!并且在最后一个数据后面要添加一个","。才能保证元组正确识别。

Warning Never, never, NEVER use Python string concatenation (+) or string parameters interpolation (%) to pass variables to a SQL query string. Not even at gunpoint.

警告 永远不要使用python字符串连接符号“+”或者变量插值符号“%”对SQL查询语句传参。即使有人用q指着你也不要。

官方文档可以在这里查看:https://www.psycopg.org/docs/usage.html#adaptation-of-python-values-to-sql-types

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/735003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存