gpt4 book ai didi

python - 如何使用 mysqlconnector 在 SQLAlchemy 中设置 FOUND_ROWS 的 client_flags 以返回受影响的行

转载 作者:行者123 更新时间:2023-12-05 06:45:49 24 4
gpt4 key购买 nike

我正在尝试更改 SQLAlchemy 的 ResultProxy.rowcount 属性的行为。配置为mysql+mysqlconnector。我在 create_engine() 中设置 connect_args = {'client_flags': [ClientFlag.FOUND_ROWS]}。

问题是它似乎不起作用。在 UPDATE 查询中,我仍然得到匹配的记录数,而不是受影响的记录数。

在 SQLAlchemy 中设置 FOUND_ROWS 客户端标志的正确方法是什么?

获取 client_flags 状态的正确方法是什么?

谢谢,

最佳答案

我认为恰恰相反。

这是设置 CLIENT_FOUND_ROWS 标志时执行的操作(在 mysql doc 中查找 FOUND_ROW)

Return the number of found (matched) rows, not the number of changed rows.

来自 SQLAlchemy doc我们看到他们默认使用的是:

For this reason, the SQLAlchemy MySQL dialects always set the constants.CLIENT.FOUND_ROWS flag

因此,如果您希望 UPDATE 查询中的记录数是 AFFECTED,而不是 MATCHED,则应删除该标志

简而言之,您用相同的标志覆盖了默认标志。

关于python - 如何使用 mysqlconnector 在 SQLAlchemy 中设置 FOUND_ROWS 的 client_flags 以返回受影响的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21072828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com