在更新声明中,result = 1是什么意思?

时间:2016-10-04 15:18:15

标签: sql sql-server sql-server-2014

运行更新,返回

<?
error_reporting(E_ALL);
ini_set('display_errors', 1); // show errors

echo "<p>test</p>";

$filename = "andy.txt";
$fh = fopen($filename, 'w')  or die('fopen failed');
fwrite($fh, "qwerty")  or die('fwrite failed');
fclose($fh);
?>

消息

 Results
  1

结果= 1是什么意思?在所有其他dbs我运行它,我得到一个零,我认为这是一个返回代码。我检查了@@错误,它是0.搜索没有快乐。

2 个答案:

答案 0 :(得分:3)

Results
  1   

是结果集

(1 row affected)
(0 rows affected)

是受当前语句/ s影响的行数

您的更新无法返回结果集,除非您使用输出子句

正如AdaTheDev所指出的那样,你可能有一个可能导致以下行为的触发器

  

在多个dbs中运行此命令,只有一个具有符合条件的记录。在五个dbs中,四个给我结果= 0,一个给我结果= 1但是所有人都说他们影响了一行。

答案 1 :(得分:0)

我能想出的唯一合乎逻辑的解释如下。您的数据库上有一个update触发器,它会打印出两行,一行包含Results,另一行包含一个数字。

括号中的两行表示您有触发器。一个是指受触发器影响的行数,另一个是受整体语句影响的数量。