2012-03-15 2 views
0

에 나는 모든 행은 부모에 속하는 다음과 같은 열이MySQL의 증가 무게 필드 삽입

id 
parent_id 
title 
description 
weight 

있는 테이블을 가지고있다. 모든 행은 상위 페이지에서 순서를 결정하는 가중치를가집니다. 새 행이 추가 될 때마다 새 행의 가중치가 해당 상위 ID +1의 가장 큰 가중치와 같아야합니다.

삽입 쿼리 내에서이를 수행 할 수있는 방법이 있습니까?

답변

1

SQL 서버를 가지고 있지 않아도이 기능을 사용할 수 있을지 모르겠다. 그러나 나는 전에 이런 짓을 했어.

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)