Hello Everyone, I am facing issues with defining table's primary key column as Numeric(18,0).I am connecting to a MSSQL and in database all tables are defined as Numeric(18,0) for primary key. So to match with the database table schema I updated Sqlalchemy tables as Numeric(18,0) but I am facing Issues when the table is having an insert trigger. Eg. sometable = Table("sometable", metadata, Column("sometable_id",Numeric(18,0), primary_key=True)) So I gone through the docs and found I need to turn of implicit_returning=False and optionally need to auto-increment primary_key so I changed my schema to bellow
sometable = Table("sometable", metadata, Column("sometable_id", Numeric(18,0), autoincrement=True,primary_key=True), implicit_returning=False) But still it throws the bellow error {FlushError: Instance <sometable at 0x7f2e8c180090> has a NULL identity key. If this is an auto-generated value, check that the database table allows generation of new primary key values, and that the mapped Column object is configured to expect these generated values. Ensure also that this flush() is not occurring at an inappropriate time, such as within a load() event. } After the issue I found that autoincrement is the problem I went ahead and changed my table schema to have data type BigInteger for primary key. sometable = Table("sometable", metadata, Column("sometable_id", BigInteger, autoincrement=True,primary_key=True), implicit_returning=False) And it worked fine for all cases including insert triggers as well. So my question is what should be the preferred data type for primary keys in my scenario. Do i continue using *BigInteger*. Need suggestions guys. -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.