my php 代码(唯一相关的部分(:
$sql="UPDATE `posts` SET `likes`=`likes`+1 WHERE `id`='$id'";
不工作。 我正在尝试增加一个默认设置为零的 int。 变量 ID 设置正确(来自 HTML 表单的响应(,插入函数在下一行中完美运行。我已经研究了几个小时,但空手而归:\想知道是否有人可以帮助我或为我指出可能的解决方案的正确方向。
这是我在下一行执行的查询:
$res= $mysqli->query($sql);
$mysql是数据库连接,$sql是上面的代码片段。
这是表
问题是您的表对整数列的NULL
限额。我建议不要在整数列上使用NULL
。对于您当前的问题,至少有两种方法可以解决它:
- 使用
coalesce
选择值,如果为 null,则使用0
:更新帖子设置喜欢 = 合并(喜欢, 0( + 1其中 id = 10;
演示:http://sqlfiddle.com/#!9/54d9ae/1
-
更新行,使其实际具有
0
值。update posts set likes = 0 where id = 10;
。或者,您可以将其设置为使用该更新1
。使用这种方法,您可以删除where
子句并更正整个表,假设NULL
不正确。