我正在使用Flask SQLAlchemy,我有以下数据库架构:
Table(
composite_primary_key,
count INTEGER
)
我想创建一个create或update语句,我可以检查是否存在具有给定复合主键的行。
在SQLAlchemy中是否有一些现有的方法可以做到这一点?什么不涉及编写我自己的查询?
答案 0 :(得分:0)
假设您正在使用MySQL,您需要的是" INSERT ... ON DUPLICATE KEY UPDATE ..."语句请参阅http://dev.mysql.com/doc/refman/5.6/en/insert-on-duplicate.html不幸的是(因为它是特定于MySQL的),此时SQLAlchemy不支持此构造,因此您必须构建自己的(文字)SQL查询:
session.execute(" INSERT ... ON DUPLICATE KEY UPDATE ...")