gpt4 book ai didi

php - 为什么受影响的行数是错误的?

转载 作者:行者123 更新时间:2023-12-01 00:09:14 25 4
gpt4 key购买 nike

这是我的查询:

SELECT u.password, r.active 
FROM users u
INNER JOIN resend_pass r
ON u.id = r.user_id
WHERE r.token = 'mytoken' AND r.active = 1

上面的查询结果是这样的:

+----------+--------+
| password | active |
+----------+--------+
| mypass | 1 |
+----------+--------+

注意 token 列是唯一的,因此结果总是(或零行) .


现在我将 select 语句转换为 update 语句,如下所示:

UPDATE users u
INNER JOIN resend_pass r
ON u.id = r.user_id
SET u.password = 'mynewpass',
r.active = 0
WHERE r.token = 'mytoken' AND
r.active = 1

然后结果是这样的:

+-----------+--------+
| password | active |
+-----------+--------+
| mynewpass | 0 |
+-----------+--------+

好吧,一切都很好。只是我不知道为什么受影响的行数是 2?如您所见,只有一行,我已经更新了一行的两列,那么为什么受影响的行是 2

echo $stm->rowCount(); // 2 

不应该是 1 吗?

最佳答案

SET u.password = 'mynewpass',
r.active = 0

那是 2 行,每个表中的一行 别名 由 u 和 r。

关于php - 为什么受影响的行数是错误的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38531925/

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