sql - 如何将rank列添加到现有表

时间:2014-10-12 11:17:04

标签: python sql sqlalchemy alembic

我有下表:

my_table = sa.sql.table('my_table',
    sa.Column('id', sa.BigInteger),
    sa.Column('employee_id', sa.BigInteger)
)

我希望添加一个排名'使用alembic的列。 使用add_column添加本身非常简单,但我还需要根据现有信息使用sqlalchemy填充该列(每个employee_id都有自己按照id排序的排名)。

例如,下表:

id    employee_id    rank
--    -----------    ----
1          1          1
2          1          2
5          1          3
3          2          1
4          3          1
6          3          2

问题类似于this one

唯一的区别是我需要在mysql和oracle之上为sqlalchemy工作(需要更通用的解决方案)。

如何使用engine.update填充排名列?

编辑1 : 这个问题不是关于如何通过alembic插入或更新记录。它是关于查找将执行特定事务并使用engine.update运行此查询的查询

0 个答案:

没有答案