我正在尝试编写一个SQL查询,该查询在列中查找值并将其增加1。例如:
id | reply | comment_parent_id | order_by
----+--------------------------------+-------------------+----------
1 | Hello World I am a reply | 1 | 1
2 | Hello World I am a reply also | 1 | 2
3 | Hello World I am a reply also | 1 | 3
5 | Hello World I am a reply also | 2 | 1
以上是我的表的一个例子。当我插入一个新行和comment_parent_id = 1
然后插入该行时,order_by
字段需要为4.因此,如果我插入另一个新行而comment_parent_id = 2
则order_by
} field需要等于2.我希望我能够清楚地解释自己。谢谢你的帮助。
答案 0 :(得分:1)
INSERT INTO table (reply, comment_parent_id, order_by)
SELECT @new_reply, @new_parent_id, IFNULL(MAX(order_by)+1, 1)
FROM table
WHERE comment_parent_id = @new_parent_id
答案 1 :(得分:0)
在SELECT
-
INSERT
INSERT INTO test
SELECT NULL,
'Hello World I am a reply also',
?,
count(comment_parent_id)+1
FROM test
WHERE comment_parent_id = ?;
?
代表您要插入的comment_parent_id
。
请参阅此SQLFiddle示例 - http://sqlfiddle.com/#!2/d230f/1