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.