2012-03-15 59 views
0

我有以下的列MySQL的增量權重字段上插入

id 
parent_id 
title 
description 
weight 

每一行歸屬於父表。每一行都有一個權重來確定它在父頁面上的順序。 每次添加新行時,我都希望新行的權重等於該父級id的最大權重+1。

有沒有辦法在插入查詢中做到這一點?

回答

1

試試這個,我不確定它會工作,因爲我手上沒有sql server。但我以前做過這樣的事情。

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

替換表與表名,並與那些你需要的數值着,當然。

1

這應該工作

INSERT INTO myTable (id,parent_id,title,description,weight) 
VALUES (idValue,parentValue,idValue,titleValue,descriptionValue, 
     (SELECT MAX(weight) FROM myTable WHERE parent = parentValue)) 
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)