python – 如何在psycopg2中添加引号/撇号到列值?

information = "Hope they're well"     
cursor.execute("UPDATE table_name SET information='%s';" % information)

添加它时,它显然会产生和错误,因为执行只会尝试添加“希望他们”,然后其余的字符串将搞乱它.

显然在PHP中可以选择编写预处理语句,那么你如何在psycopg2中做到这一点呢?

我读了this,但不太明白它是否是我想做的.

解决方法:

不要格式化字符串,只需将值作为第二个参数传递:

cursor.execute("UPDATE mytable SET col1 = %s, col2 = %s;", [arg1, arg2])

(可选)使用命名参数并传递字典:

cursor.execute("""
    UPDATE mytable
    SET col1 = %(arg1)s, col2 = %(arg2)s
""",{'arg1':arg1, 'arg2':arg2})

psycopg2将处理其他一切.

有关更多信息,请参见here.

相关文章

项目需要,有个数据需要导入,拿到手一开始以为是mysql,结果...
本文小编为大家详细介绍“怎么查看PostgreSQL数据库中所有表...
错误现象问题原因这是在远程连接时pg_hba.conf文件没有配置正...
因本地资源有限,在公共测试环境搭建了PGsql环境,从数据库本...
wamp 环境 这个提示就是说你的版本低于10了。 先打印ph...
psycopg2.OperationalError: SSL SYSCALL error: EOF detect...