gpt4 book ai didi

Python mySQL - 转义引号

转载 作者:IT老高 更新时间:2023-10-29 00:13:20 24 4
gpt4 key购买 nike

我在这个网站上看到过以各种方式提出的这个问题,但没有一个能完全解决我的问题。

我有一个带有单引号的 sql 语句,并且在使用它进行数据库查询之前尝试使用推荐的做法。所以语句就像

val2="abc 'dostuff'" 
sql="INSERT INTO TABLE_A(COL_A,COL_B) VALUES(%s,'%s')" %(val1, val2)
a_cursor.execute(sql)

但是,当我运行它时,我得到...

ProgrammingError: (1064,"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'dostuff'.

我做错了什么?非常感谢努普尔

最佳答案

使用参数而不是字符串插值来确保您的值被数据库连接器正确转义:

sql = "INSERT INTO TABLE_A(COL_A,COL_B) VALUES(%s, %s)"
a_cursor.execute(sql, (val1, val2))

mysqldb sql参数样式使用与python字符串格式化操作符相同的语法,有点困惑。

关于Python mySQL - 转义引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12902862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com