python - SQLAlchemy - MySQL 表名中的特殊字符
问题描述
我正在使用以下代码 SQL Alchemy 代码动态创建 MySQL 表:
meta = Base.metadata
table_data = Table(
table_name, meta,
Column('id', Integer, primary_key=True, nullable=False),
Column('file_name', String(250), nullable=False))
)
meta.create_all(engine, [table_data])
该table_name
变量是通过 API POST 调用发送的唯一字符串。问题是表名可以包含特殊字符,我无法更改。
如果我尝试通过 MySQL 工作台手动创建名称,它工作正常。但是当我通过 SQL Alchemy 执行此操作时会引发错误。有人可以建议如何使它工作吗?任何帮助表示赞赏。
谢谢!
编辑:这是一个示例,名称错误data_E82sR4g5YtXqv@AT2QIwH4bQ==
:
(MySQLdb._exceptions.ProgrammingError) (1064, '')
[SQL: drop table if exists data_E82sR4g5YtXqv@AT2QIwH4bQ==]
(Background on this error at: http://sqlalche.me/e/f405)
解决方案
推荐阅读
- neo4j - Neo4j 你能在你的 match(n) return n 语句中为节点和关系选择颜色、大小吗?
- sql - 删除不同列和其他列的最新日期
- java - JTable 只显示表格的右边框
- docker - docker中的模拟时间(-compose)
- r - 在 R Shiny App 中延迟后更改输出
- machine-learning - 在现实世界中没有恒定平衡时如何平衡您的数据集
- php - 无论如何,SQlite3 是否知道已添加的条目数量?
- java - Java FX 与 Firebase 存储的连接,用于上传图片
- parsing - 使用 Wordpress 提要获取解析错误
- julia - “错误:语法:不能并列字符串文字”用引号结束三引号字符串文字时