triggers, ah. Maybe? that seems inconvenient. it would be good if you could adjust the triggers to not affect the rowcount of the original statement, otherwise you'd have to set supports_sane_rowcount=False on your engine:
engine.dialect.supports_sane_rowcount =False On Fri, Jun 26, 2020, at 12:49 PM, jue...@gmail.com wrote: > I think ID is the only primary key of the Measurements table, but I can > double check this on Monday. I used sqlacodegen to create the initial models, > so if this tool correctly detects primary keys, the Measurement model should > match the table definition. > > I also tried to execute the follwing statement using engine.execute: > > 2020-06-26 15:50:59,872 INFO sqlalchemy.engine.base.Engine UPDATE > tbm.[Measurement] SET [IsCompleted]=? WHERE tbm.[Measurement].[ID] = ? > 2020-06-26 15:50:59,872 INFO sqlalchemy.engine.base.Engine (True, 6248) > > The result also indicated that 5051 rows where affected, but I don't get it > why... There is clearly only one Measurement with ID 6248... I know that > certain triggers are executed if IsCompleted is changed, so maybe this has an > effect on the reported rows? > > Mike Bayer schrieb am Freitag, 26. Juni 2020 um 18:40:11 UTC+2: >> __ >> hi - >> >> does your Measurement table have a primary key constraint present, and does >> this primary key constraint consist of exactly the "ID" column only and no >> other columns? it would appear you have not mapped the primary key correctly. >> >> >> >> On Fri, Jun 26, 2020, at 9:57 AM, jue...@gmail.com wrote: >>> I'm currently working with sqlalchemy (Version 1.3.18) to access a >>> Microsoft Server SQL Database (Version: 14.00.3223). I use pyodbc (Version >>> 4.0.30) >>> >>> When I try to update a single object and try to update and commit the >>> object, I run into a StaleDataError: >>> >>> StaleDataError: UPDATE statement on table 'Measurement' expected to update >>> 1 row(s); 5051 were matched. >>> >>> The update statement looks perfectly fine: >>> >>> 2020-06-26 15:50:59,872 INFO sqlalchemy.engine.base.Engine UPDATE >>> tbm.[Measurement] SET [IsCompleted]=? WHERE tbm.[Measurement].[ID] = ? >>> 2020-06-26 15:50:59,872 INFO sqlalchemy.engine.base.Engine (True, 6248) >>> >>> Any Idea what's wrong with this. >>> >>> -- >>> SQLAlchemy - >>> The Python SQL Toolkit and Object Relational Mapper >>> >>> http://www.sqlalchemy.org/ >>> >>> To post example code, please provide an MCVE: Minimal, Complete, and >>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>> description. >>> --- >>> 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+...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sqlalchemy/d607c30c-2bc5-4680-9e7f-842da8f28792n%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/sqlalchemy/d607c30c-2bc5-4680-9e7f-842da8f28792n%40googlegroups.com?utm_medium=email&utm_source=footer>. >> > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > 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 view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/811cc2da-18fc-4679-914f-e7d672c4bdcfn%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/811cc2da-18fc-4679-914f-e7d672c4bdcfn%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- 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 view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/98db1064-e207-4cfb-bd12-81b264016b4c%40www.fastmail.com.