问题标签 [rows-affected]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 查找在 PHP 中完成的更新数量
我正在做的是使用 PHP 使用表单编辑 MySQL 数据的数据。
我有两个文本字段作为姓名和手机号码。当我点击编辑时,我在文本字段中得到相同的数据,下面我有保存按钮。当我进行更改时,我得到了响应,但是当我单击编辑并且不在文本字段中进行任何更改并单击保存时,我得到响应失败。
下面是保存按钮的代码。
我很担心mysql_affected_rows()
。
以上让我认为如果UPDATE语句中的数据相同,mysql_affected_rows()
将返回0,如果UPDATE语句中的数据不同,mysql_affected_rows()
将返回1。
这是正确的吗?如果是对的,更新完成与否如何处理?
php - Affected_rows 在删除时总是返回 false
我四处查看了受影响的行返回的确切内容。如果删除了某些内容,它应该返回 > 0,如果没有,则返回 0,对吗?
但是当我删除一个产品时,它会被删除,因为它是通过产品 ID 存在的。但是,当我想通过尝试在我的模型中执行此操作来测试相关产品是否已被删除时:
并将值返回给我的控制器,如下所示:
返回的值总是假的,即 0。但是当我检查我的数据库以查看产品是否被删除时,它被删除了。有人可以指出我做错了什么吗?
mysql - MySQL 过程在没有更新任何内容时返回 1 个受影响的行
我的mysql
数据库中有以下存储过程:
remainingUses
如您所见,仅当初始select
语句中的变量大于“0”时才应执行更新语句。
但是,当我调用该过程时CALL UsePassword(197);
,它会返回Affected rows: 1
.
我不明白,当我id = 197
在数据库中的密码行的值为“remaining_uses = 0”时。
有没有理由为什么 if 会显示Affected rows: 1
在结果中?
如果该语句成功执行,它是否会返回 1 个受影响的行?因为从技术上讲,在这个例子中我的 UPDATE 语句没有被执行。
更新不仅没有更新,而且如果我完全删除更新语句,它仍然告诉我有一个受影响的行!
谢谢
php - mySQLi_affected_rows 检查不起作用,还是...?
(对不起,我真的不知道我在做什么。)
我在 Facebook 上的 iframe 中有这个 Unity 游戏,调用同一目录中的一个 php 文件,这很有效。我想要它做的是更新玩家记录(如果存在),如果不存在则制作一个。
该脚本运行,但它总是返回“不在此处”,当我检查数据库时,实际上每次都在创建记录,但对于日期时间字段相同。所以我不明白为什么affected_rows 永远不会返回为“1”。
mysql - 使用 LEFT JOIN 的 MYSQL 更新
问题;
在下面的 MySQL 查询中,产生 ConnectionID 列表的内部查询返回 34 个 ConnectionID。然后当我将这两个查询作为更新一起运行时,查询结果表明只有 14 行受到影响。我对 UPDATE 函数的理解是否不正确?
笔记;
我正在尝试更新我的数据库,以便对于 Connections.PartnerID 等于 Partners.PartnerID 的任何给定连接,Partners 表中的 DefaultUserType 等于连接表中的 RoleID。
询问;
php - PHP mysqli affected_rows 方法似乎有一个错误
我得到一个奇怪的结果,以下是简单更新查询后 mysqli 对象的状态:
如您所见,affected_rows = -1 但是...信息是“匹配行:3 已更改:3 警告:0”并且查询已更新数据库。我正在使用 mysqli->affected_rows 来检查返回 -1 并且测试失败但这是不正确的成功。
有任何想法吗?
php - 活动记录 - 受影响的行总是返回 1
我正在尝试使用活动记录更改密码代码。这很好,但我需要知道密码是否已成功更改或当前密码实际上是错误的。
我正在使用受影响的行来查看有多少记录受到影响。该值应该是 1 或 0,1 表示密码已成功更改,0 表示未更改(即输入的当前密码错误)。受影响的行永远不会返回超过 1,因为用户名是唯一的。所以它应该按照我接近它的方式工作。但它似乎不起作用,因为受影响的行函数总是返回 1。
这是代码 控制器:
模型:
mysql - 漏洞?“SELECT LEFT JOIN”匹配所有行,但“UPDATE LEFT JOIN”忽略一些。里面的例子
我想用一个 UPDATE 查询更新两个表。为此,我使用了一个简单的 LEFT JOIN。奇怪的是,并非所有匹配的行都被更改。这是示例表:
这是示例 SELECT 查询,它匹配所有行:
这是更新查询:
更新后,表格如下所示:
测试大陆:
测试代理:
谁能解释一下为什么更新后 test_agent 009 的大陆字段仍然是“NA”?
如果我使用INT字段似乎不会发生这种情况,但是我需要CHAR(2)字段,所以请不要讨论表结构,只是说我这是一个错误,一个功能还是其他什么?
我正在使用 Ubuntu 12.04 和 MySQL 5.5.29-1~dotdeb.0 我是 15 年多以来的编码员,通常我不会问这样的问题,但我无法解释它,我需要帮助......
更新:
我用 INT(2) 字段而不是 CHAR(2) 做了第二个例子。在这种情况下,UPDATE 匹配所有行:
--
--
更新后的 test_agents:
--
我不敢相信这是一种正常的行为。两个示例之间的唯一区别是字段类型,所以它是否应该影响相同的行?我确信查询是 100% 正确的。
有没有人解释???
提前致谢。
mysql - 更改 mysql 中的表时获取受影响的行
当使用以下命令更改表时,我需要检索受影响行的报告:
1.- 更换引擎:
2.- 添加约束:
3.- 添加唯一约束。
mysql - MySQL 更新返回事务中受影响的 0 行
表帐户具有特殊字段“执行程序”,以便守护程序知道该帐户被阻止使用其中一个守护程序进行更新。
一步步:
- 开始交易
阻止帐户:
/li>一些操作。在此步骤中,另一个守护进程可以选择 id=1234 的行并尝试更新它(或更新另一个字段,而不是“执行程序”)
帐户状态返回:
/li>- 犯罪
有时在第 4 步 mysql 返回成功执行状态,但 0 行受到影响。它在 10000 笔交易中发生 1 次。
我究竟做错了什么?还是它的mysql错误?
更新:
观察后我得到以下信息:
1)首先我们做
2) 交易区块记录
3)在交易期间我做
4)在这个查询之后
给出结果 2727
在重复第 3 点和第 4 点后,我们得到结果executor
=NULL... 或 0,因为我将结果写入 int 类型的变量,但这可能都是相同的 NULL...但它并不那么重要..在任何情况下 executor 不再是价值 2727
进一步的事务被回滚......如果再次重复操作,一切都很好,没有重置执行者的价值......