如何解决:方言“默认”不支持序列增量的SQLAlchemy

问题描述 投票:0回答:1

我有以下疑问:

seq = select([tab_setup.columns.ID]).order_by(tab_setup.columns.ID).limit(1)

sel = select([tab_Global.columns.ID_UNIQUE.label('DL_ID'), tab_Global.columns.CV_CNV.label('DL_Conv')]) \
        .where(tab_Global.columns.CV_CNV.isnot(None))

stmt = tab_setup.insert().from_select(['DL_ID', 'DL_Conv',next_value(Sequence(seq))] , sel)

据我已经理解的那样,问题是自动填充表“tab_setup”内的ID(自动增量)场相关。这是值传递正确的方法是什么?

ID字段是1,每行一个正常的自动递增字段。

只使用序列功能,它正提出一些建议使用一个错误“next_value”

谢谢

python sqlalchemy insert auto-increment
1个回答
0
投票

我找到的解决方案是在选择查询地址:

func.row_number()。在(ORDER_BY = tab_Global.columns.ID_UNIQUE))。标签( 'ID')

这将产生对任何行的序列号;然后如果起始号码不是1 I创建变量start_from = 10,并完成上面:(start_from + func.row_number()...)

© www.soinside.com 2019 - 2024. All rights reserved.