Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 应用触发器后受影响的行数_Mysql_Sql_Database - Fatal编程技术网

Mysql 应用触发器后受影响的行数

Mysql 应用触发器后受影响的行数,mysql,sql,database,Mysql,Sql,Database,我有一个mysql表,我在其上创建了用于插入的触发器之后和之前。每个跳跳虎分别更新2行。因此,一旦我向表中插入一行,总共有5行被更新,即使来自DB的响应是“1行受影响”。我需要找到一种方法来知道更新的行的总数,在本例中为5。我认为它给出了一个受影响的行,因为您在表中添加了一行。Mysql reply只提供该表中添加的行的信息。并且不通过触发器提供受影响的行 问题似乎在于,当您在触发器中插入/更新行时,MySQL不计算在内。最好的解决方案可能是自己计算手动插入/更新的行数,将值存储在变量中,在外部

我有一个mysql表,我在其上创建了用于插入的触发器之后和之前。每个跳跳虎分别更新2行。因此,一旦我向表中插入一行,总共有5行被更新,即使来自DB的响应是“1行受影响”。我需要找到一种方法来知道更新的行的总数,在本例中为5。

我认为它给出了一个受影响的行,因为您在表中添加了一行。Mysql reply只提供该表中添加的行的信息。并且不通过触发器提供受影响的行

问题似乎在于,当您在触发器中插入/更新行时,MySQL不计算在内。最好的解决方案可能是自己计算手动插入/更新的行数,将值存储在变量中,在外部查询后获取,并将行数()的结果添加到其中。

您使用哪个函数获取受影响的行数?我目前没有使用任何函数。我说的是mysql Reply。在这种情况下,实现一个函数来执行插入和两个触发器返回整个过程中修改的行数不是很容易吗?但我需要找出总行数是如何受到影响的。我可以使用过程、标志或anthingUse:SELECT ROW_COUNT();在插入查询之后。如果我没有错的话,就不可能通过触发器获得受影响的行数。这是mysql文档中提到的吗?实际上,我应该为这个功能编写一个api。如果需要的话,你必须手动完成。请参见PostGreSql。你所说的外部查询是什么意思?我无法理解您的解决方案您有一个查询a,它会触发查询B和C。B和C插入/更新记录,MySQL不计算第_count()行中的记录。因此,您需要在一个变量中对它们进行计数,然后在查询完成后,将您计数的变量添加到ROW_count()的结果中,您应该有正确数量的受影响行,包括触发器。我无法在数据库中进行任何操作。我只能在没有办法的情况下阅读。您需要一个MySQL本身无法提供的信息,并且您无法更改触发器来生成该信息。因此,你无法解决这个问题。