2016-08-17 78 views
0

我目前使用下面的查詢來增加每個插入的第三列count插入時MAX(count)+ 1,MySQL

$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。我試着將默認值定義爲零,但仍然爲空。第一次插入時該列應該是1

如何更改查詢,因此如果先插入,然後count是1.我不想在之前執行選擇查詢,因爲此代碼處於循環中。

回答

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';");