flask_sqlalchemy报错ProgrammingError: (pymysql.err.ProgrammingError)

weixin_38063619 2018-12-12 05:11:36
主代码 param = json.dumps(request.form)
param = json.loads(param)
table_name = param.pop('name')
column_str = ''
for x in range(len(param)/4):
name = param.get('name%s'%(x))
getunique = param.get('unique%s'%(x))
gettype = param.get('type%s'%(x))
getlen = int(param.get('len%d'%(x)))
column_str += '`%(name)s` %(type)s(%(len)s) DEFAULT NULL %(unique)s,'%({'name':name,'type':gettype,'len':getlen,'unique':getunique})
# SET FOREIGN_KEY_CHECKS=0;
# DROP TABLE IF EXISTS `%(table_name)s`;
# ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
creat_sql = r'''CREATE TABLE `%(table_name)s` (`id` int(11) NOT NULL AUTO_INCREMENT,%(column_str)s PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;'''%({'table_name':table_name,'column_str':column_str})
print(creat_sql)
db.session.execute(creat_sql).fetchall()
db.session.commit() 生成sql SET FOREIGN_KEY_CHECKS=0;DROP TABLE IF EXISTS `test`;CREATE TABLE `test` (`id` int(11) NOT NULL AUTO_INCREMENT,`a` int(16) DEFAULT NULL unique,`b` varchar(32) DEFAULT NULL unique, PRIMARY KEY (`id`)) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
报错 raise errorclass(errno, errval)
ProgrammingError: (pymysql.err.ProgrammingError) (1064, u"You have an error in y
our SQL syntax; check the manual that corresponds to your MySQL server version f
or the right syntax to use near 'CREATE TABLE `test` (`id` int(11) NOT NULL AUTO
_INCREMENT,`a` int(16) DEFAULT NU' at line 1") [SQL: u'DROP TABLE IF EXISTS `tes
t`;CREATE TABLE `test` (`id` int(11) NOT NULL AUTO_INCREMENT,`a` int(16) DEFAULT
NULL unique,`b` varchar(32) DEFAULT NULL unique, PRIMARY KEY (`id`)) ENGINE=MyI
SAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;'] (Background on this error at: http:
//sqlalche.me/e/f405) 求大神指点、里面的\n\r什么的都去除过了,有帖子说需要pymysql.escape_string()进行转义都试过了无法处理
...全文
394 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
代码下载地址: https://pan.quark.cn/s/d56c0ac7d9f6 交流群 telegram: https://t.me/autosymlink_channel 文档 https://.com/shenxianmq/Auto_Symlink/wiki Auto_Symlink 小白牙整理 项目简介 是一个自动化工具,专门设计用于管理通过 CloudDrive2/Alist 挂载到本地的网盘。 它能够创建软链接,使得像 Emby/Jellyfin/Plex 这样的媒体服务器能够更容易地刮削和读取内容,同时减少对网盘的频繁访问。 主要特性: 实时监控: 需要CloudDrive2的会员功能文件通知,监控指定目录,自动进行必要的更新和管理。 自动化处理: 创建与更新软链接/strm文件,自动复制与更新元数据。 清理功能: 清空无效文件夹和软链接,保持本地云端一致性。 转存监控: 在常用工具中,自动监控指定文件夹,转移到目标文件夹,并删除源文件 媒体库通知: 支持Emby/Plex通知,当检测到新视频的时候,会自动通知Emby/Plex扫描该视频,极大加块扫库速度 封面制作: 自动生成精美的Emby媒体库封面 Web 界面操作: 提供一个简洁易用的Web界面,用于查看日志、编辑配置和监控系统状态。 这使得用户能够更方便地管理和调整 Auto_Symlink 的运行。 更多功能可以去常用工具中自行发掘. -- 安装和使用 直接运行 Python 文件: - 在首次运行后, 文件夹中会生成 文件。 根据文件中的注释进行配置。 - 配置完成后,使用命令 运行。 - 在 Windows 系统中,需要以管理员模式运行。 Docker 运行: 使用以下命令运行 Dock...

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧