Sqlalchemy Update 1 rows 2 were matched 的问题

使用Sqlalchemy的过程中,碰到这个问题:

1
sqlalchemy.orm.exc.StaleDataError: UPDATE statement on table 'repertory' expected to update 1 row(s); 2 were matched.

意思貌似是要更新一条,却发现了2条,但是跟踪sql执行结果,返回的的确是一条,为什么会报这个错误呢。找了半天也没找到合理的解释。
最后查看数据库时,才发现,表repertory居然有两个主键,然后其中居然有两条id同为3的记录,坑爹啊!

你的支持我的动力