跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

MySQL更新数据头里是否判断数据有没有被修改

MySQL更新数据之前是否判断数据有没有被修改MySql{MyPhpAdmin}里执行一条更新语句:update tableA set a=1 where id=2如果a原来的值就是1,MySql就直接返回了“影响了0行” 。

如果a原来的值不会1,就会返回“影响了1行”;

难道MySql在执行update语句之前还拿新值和旧值比较,如果有修改才修改之,没有修改的话,也就不执行update语句了吗?

还有PHP里面执行mysql->query();语句的话,如果语句本身没有错误,就直接返回true。我执行update ,如果语法正确,条件错误,query直接返回true。

如果用mysql->affected_rows 判断的话,就会出现上面mysql里面讲的问题:语句正确,条件正确,就是没有修改数据,返回0行。这样我如何知道我的update语句真正的执行成功,影响到具体的数据。

------解决思路----------------------看着就纠结。。

必须要知道语句是否正确,这条数据是否存在,update之后是否被修改。

我觉得要先select一下才能满足你的所有需求。

------解决思路----------------------这样我如何知道我的update语句真正的执行成功,-- 返回true就表示成功了影响到具体的数据。

mysql->affected_rows

相关文章