如果不存在,如何更新某一行或返回FALSE?

时间:2010-10-24 13:03:04

标签: php mysql

如何在一个查询中执行此操作?

3 个答案:

答案 0 :(得分:4)

您可以执行以下操作:

function updateValue()
{
     mysql_query($sql); // your update goes here
     return mysql_affected_rows() > 0;
}

来自BoltClock的评论:

  

请记住,如果存在行但mysql_affected_rows()返回0但旧值和新值相等(意味着不需要更新)。

答案 1 :(得分:1)

您可以使用mysql_affected_rows()函数来检查是否有任何行受更新影响。有关详细信息,请参阅:http://php.net/manual/en/function.mysql-affected-rows.php

答案 2 :(得分:1)

这已经为你完成了。

if(mysql_query('UPDATE table SET key = value WHERE id = 33')){/*....*/}

使用where子句将检查id是否存在,如果存在,那么它会更新它,问题是什么?