我在将混合字符串插入sql db时遇到了问题。 我想urlencoding字符串是一种更简单的方法来保存表中的字符串。
IE
INSERT INTO metadb (name, type , year ) values ( 'Valentine%27s Day', 'movie', '2010')
我的问题是当我尝试使用sql查找此条目时,它什么也没有返回。
SELECT * FROM metadb WHERE name = 'Valentine%27s Day' and year = '2010' and type = 'movie'
有没有办法克服这个问题?我最好的猜测是它与“'%'这搞砸了。
使用Python SQL平台。
答案 0 :(得分:1)
您需要使用\
字符来转义谓词,如下所示:
SELECT * FROM metadb WHERE name = 'Valentine\%27s Day' and year = '2010' and type = 'movie'
你的猜测是正确的。 %
是special character in MySQL。另外,在将记录插入表格之前,我可能会考虑使用url解码/编码库。
答案 1 :(得分:1)
你不可能把它分开吗?例如,你可以这样做:
textwidth
然后选择你必须从文档中转义字符串:
“请注意,传递给execute()的查询字符串中的任何文字百分号都必须进行转义,即%%。”
https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlcursor-execute.html
我希望它可以帮到你。
//丹尼尔