2016-08-17 7 views
0

私は現在、以下のクエリを使用してすべての挿入時に3番目の列countをインクリメントします。挿入時のMAX(count)+1、

$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です。このコードがループしているので、前に選択クエリを実行したくありません。

答えて

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';"); 
関連する問題