python模型:
class SYSLocation(SYSModel):
__tablename__ = 'sys_location'
rank = db.Column(db.Integer)
调用:db.session.add(model)
生成mysql脚本:
INSERT INTO `sys_location` ( rank) VALUES (13000)
sql错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'rank)
VALUES (13000)' at line 1
我检查了这个查询运行错误mysql版本8.0.11,因为rank是关键字。但是这个sql可以运行mysql版本10.1.25-mariadb。如何修复我的sqlalchemy模型运行所有版本的mysql?
1条答案
按热度按时间bpzcxfmw1#
像往常一样,在处理保留关键字时,将其 Package 在backticks中,就像您为
sys_location
:你可以逃避一切,如果你想,但它往往不是必要的。关键字是一种情况,在这种情况下,可能是必要的,因为这些关键字确实发生了变化,如果不经常发生的话。