我遇到了错误:
sqlalchemy.exc.ArgumentError: Column type DECIMAL(38, 0) on column 'id' is not compatible with autoincrement=True
在Snowflake网站(https://docs.snowflake.net/manuals/user-guide/sqlalchemy.html#auto-increment-behavior)上使用官方示例时:
Column('id', Integer, Sequence('id_seq'), primary_key=True)
你知道正确的方法是什么吗?
答案 0 :(得分:0)
我遇到了同样的问题。当您按照文档中的说明创建表,然后使用相同的MetaData对象进行插入时,它可以工作,但是当您将表提取到新的元数据中时,它会失败。我将为此在他们的仓库中打开issue。
一种解决方法是显式获取并放置序列的下一个值:
seq = Sequence('id_seq')
nextid = connection.execute(seq)
connection.execute(t2.insert(), [ {'id': nextid, 'data': 'test_insert'}])