열 중 하나가 이미있는 값에서 해당 열의 MAX
의 함수 인 새 행을 삽입하려고합니다. 임시 변수를 설정하고 두 개의 쿼리를 수행하여 PHP로 쉽게이 작업을 수행 할 수 있음을 알고 있지만 순수 MySQL에서이 작업을 수행 할 수 있는지 궁금한 내용이었습니다.기존 행과 관련된 값으로 새 행 삽입
가 우선이 (쿼리가 훨씬 더 포함하고, 참고,하지만이 엉망으로 된 것입니다)이 시도 :
다음과 같은 오류 발생INSERT INTO tbl
(column_name)
VALUES (
max(column_name) + 6
)
: 다음
1111 Invalid use of group function
내가 시도를 : 다음과 같은 오류가 발생
INSERT INTO tbl
(column_name)
VALUES (
(SELECT max(column_name) + 6 FROM tbl)
)
:
1093 You can't specify target table 'tbl' for update in FROM clause
그냥 값을 꺼내(). table2 (columnname)에 삽입하여 table1의 항목을 선택하십시오. – developerwjk
@developerwjk 앞서 언급 한 것처럼 삽입 할 다른 많은 것들이 있습니다. 이것은 단지 열 중 하나입니다. 쿼리에는 모두 약 20 개의 열이 있지만 단순화를 위해 하나만 포함했습니다. – Mike
@developerwjk이 부분은 table1과 table2가 아니며 둘 다 table1입니다. – Jordan