在sql需求中添加简单报价

2024-05-15 03:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前在一个python项目中工作,我希望在字符串中使用撇号进行SQL查询。例如:"Jimmy's home."

我有个错误:

1064 You have an error in your SQL syntax

所以,我试着在撇号前加上\,但是当我查看数据库时,只有\'前的字符串在我的字段中。你知道吗

查询中的字符串:"Jimmy\'s home"
数据库中的字符串:"Jimmy"

我不明白为什么?你知道吗


Tags: 项目字符串inyouan数据库homesql
3条回答

在SQL中,您需要使用“Jimmy's”来获得结果“Jimmy's”而不是“Jimmy's”。你知道吗

因为' or "是一个特殊的键,当你把它放到你的查询中,sql会自动找到另一个' or "的位置,这就是为什么我们称之为escape keycode\的原因,它的用途是显示原始值中的下一个字符

正如之前多次在这里和其他地方发布的那样,您必须而不是使用字符串插值来构建SQL字符串。使用参数intead:

REQ = u"INSERT INTO organismes (NAME_organisme`,ID_organisme,adresse,cp,town,lat,lon,tel,fax,‌​email,website) VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);"
cursor.execute(REQ, (NAME,ID,LIGNE,CP,TOWN,LAT,LON,TEL,FAX,MAIL,URL))

注意,no在查询字符串中的占位符周围加引号:db适配器根据需要为您放入占位符。你知道吗

另外,请不要用大写字母来表示不是常量的东西。你知道吗

相关问题 更多 >

    热门问题