插入时MAX(计数)+ 1,MySQL

时间:2016-08-17 17:08:53

标签: mysql

我目前使用以下查询来增加每个插入的第三列count

$DB2->query("INSERT INTO relations (item_ID,tag_ID,count)
                    SELECT '$ID', '$tag_id', MAX(count) + 1
                    FROM relations
                    WHERE tag_ID = '$tag_id';");

问题是当表中没有行并且我尝试插入时,Max(count)+ 1只是null。我已经尝试将默认值定义为零但仍为null。第一次插入时,列应为1

如何更改查询,因此如果第一次插入则count为1.我之前不想进行选择查询,因为此代码处于循环中。

1 个答案:

答案 0 :(得分:3)

添加ifnull(...,1)

"INSERT INTO relations (item_ID,tag_ID,count)
                SELECT '$ID', '$tag_id', ifnull(MAX(count) + 1,1)
                FROM relations
                WHERE tag_ID = ''$tag_id';");