2013-04-10 3 views
0

두 개의 정수 열이있는 테이블이 있습니다. 하나의 자동 증가 색인 번호 및 번호.MySQL INSERT 중에 다른 데이터 세트에서 값 가져 오기

내가 원하는 것은 새로운 행을 INSERT하고 가장 높은 인덱스 번호를 가진 행의 숫자 값을 사용하는 것입니다.

INSERT INTO `table`(`number`) VALUES (select `number` from `table` ORDER BY `index` DESC LIMIT 1) 
+0

index 값 왜'myTable에 값으로 INSERT를 가지고있는 경우

SELECT MAX(number) 반환되는 하나 개 이상의 값을 방지 (MAX를 선택 (indexNumberColumnName) FROM mytable)' –

답변

0

난 당신이 일하는 것이 게시 된 쿼리를 생각 :

내가 좋아하는 뭔가 상상한다. 다른 방법은 다음과 같습니다.

INSERT INTO `table`(`number`) 
    SELECT MAX(`number`) 
    FROM `table` 
    WHERE `index` = (SELECT MAX(`index`) FROM `table`) 

더 빠를 지 확신 할 수 없지만이를 확인할 수 있습니다. 예를 들어, 가장 높은 index 값이 999이고 둘 이상의 행이 999

관련 문제