修复python sqlalchemy模型不能插入mysql语法错误

vqlkdk9b  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(362)

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?

bpzcxfmw

bpzcxfmw1#

像往常一样,在处理保留关键字时,将其 Package 在backticks中,就像您为 sys_location :

INSERT INTO `sys_location` (`rank`) VALUES (13000)

你可以逃避一切,如果你想,但它往往不是必要的。关键字是一种情况,在这种情况下,可能是必要的,因为这些关键字确实发生了变化,如果不经常发生的话。

相关问题