gpt4 book ai didi

python - 在python mysqldb中转义单引号

转载 作者:行者123 更新时间:2023-11-29 00:54:27 24 4
gpt4 key购买 nike

这似乎是编程中的一个典型问题,但我没有在谷歌中找到任何有用的东西。这是代码:



file=open('list.txt','r')
对于文件中的行:
cursor.execute("如果不存在则创建表\
%s(id INT(2) NOT NULL PRIMARY KEY AUTO_INCREMENT,\
输入 TEXT NOT NULL)"% line)
文件.close()
游标.close()
数据库关闭()

这是我尝试用单引号创建表格时的错误:



Traceback(最近调用最后):
中的文件“test.py”,第 104 行
输入 TEXT NOT NULL)"% line)
执行文件“/usr/lib/pymodules/python2.7/MySQLdb/cursors.py”,第 166 行
self.errorhandler(self, exc, value)
文件“/usr/lib/pymodules/python2.7/MySQLdb/connections.py”,第 35 行,在 defaulterrorhandler 中
提高错误类,错误值
_mysql_exceptions.ProgrammingError: (1064, "您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在 ''Hi 'Buddy!(id INT(2) NOT NULL PRIMARY KEY AUTO_INCREMENT,条目“在第 1 行”)

MySQLdb.escape_string(line) 顺便修一下

最佳答案

afaik ( see MySQL 5.0 Reference here ) 不允许在表名中使用单引号:

Permitted characters in unquoted identifiers:

ASCII: [0-9,a-z,A-Z$_] (basic Latin letters, digits 0-9, dollar, underscore)
Extended: U+0080 .. U+FFFF

关于python - 在python mysqldb中转义单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6792952/

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