更新查询中的增量在表中添加2而不是1

时间:2018-09-28 14:50:18

标签: mysql sql

我有一个新闻详细信息页面,在浏览页面时,我在其中将“视图”字段更新为1。查询如下:

$conn->query("update TABLE set views=views+1 where ID='$id'");

它会将db中的值增加2。我无法理解此行为。
任何帮助将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

希望您可能在网页中使用PHP进行Web开发。

$ con是数据库连接对象。您可以通过其运行查询。

$ con-> query 是一个PHP函数,它将运行传递给它的查询。运行查询时,它的工作方式类似于MYSQL终端。

运行以下命令时

update TABLE set views=views+1 where ID='$id'

它将在数据库表中检查等于 $ id ID (例如,如果$ id = 2,则将检查id = 2)行并将该行的视图列更新为1。

请确保检查视图列是否为可空,最好使用以下内容更新查询

update TABLE set views=COALESCE(views, 0)+1 where ID='$id'

COALESCE 是MYSQL的内置命令,它检查视图是否为 NULL ,然后获取0,然后用计数1更新