插入到表中,当与相同数据的其他行进行比较时,列增加1

时间:2014-07-04 11:48:16

标签: php mysql sql

我基本上会有一个包含

等数据的表格
id, parent_id, child number
1, 5, 1
2, 5, 2
3, 5, 3
4, 5, 4
5, 6, 1
6, 6, 2

我需要的是一个SQL查询,它能够添加一个表示父ID为5的新Child的行,所以会被告知某些内容

INSERT INTO `table` (`parent_id`)
VALUES ('5')
SET `child_number` = 1 + MAX(`child_number`) WHERE `parent_id` = '5'

但我怀疑那个sql会起作用。 非常感谢任何帮助,谢谢。

2 个答案:

答案 0 :(得分:0)

你可以这样做:

INSERT INTO `table` SET 
    `parent_id` = '5',
    `child_number` = (SELECT MAX(`child_number`) FROM `table` WHERE `parent_id` = '5') + 1

答案 1 :(得分:0)

您可以使用这样的插入查询:

INSERT INTO TABLE (PARENT_ID, CHILD_NUMBER)
VALUES
('5', (SELECT MAX(CHILD_NUMBER)+1 FROM TABLE WHERE PARENT_ID= '5') );
相关问题