插入时的mysql增量权重字段

时间:2012-03-15 15:53:40

标签: mysql

我有一个包含以下列的表

id
parent_id
title
description
weight

每一行都属于父级。每一行都有一个权重,用于确定父页面上的顺序。 每次添加新行时,我希望新行的权重等于该父ID的最大权重+1。

有没有办法在插入查询中执行此操作?

3 个答案:

答案 0 :(得分:1)

试试这个,我不确定它是否会起作用,因为我手边没有sql server。但我觉得我之前做过类似的事情。

INSERT INTO table (id, parent_id, title, description, weight) 
VALUES (2,1,'title', 'description', 1+(SELECT MAX(weight) FROM table))

将表替换为您的表名,将值替换为您需要的值,当然。

答案 1 :(得分:1)

这应该有效

INSERT INTO myTable (id,parent_id,title,description,weight)
VALUES (idValue,parentValue,idValue,titleValue,descriptionValue,
        (SELECT MAX(weight) FROM myTable WHERE parent = parentValue))

答案 2 :(得分:1)

如果 parent_id = 1和 ID = 111

INSERT INTO table (id, parent_id, title, description, weight) 
VALUES (111,1,'title', 'description', (SELECT MAX(weight) FROM table WHERE parent_id=1) + 1)