728x90
INSERT INTO member (mno, mname, 생략) VALUES((SELECT MAX(mno) + 1 FROM member), '김철수', 생략);
위와 같은 쿼리문이 있다고 가정합니다.
문제가 될 것 같지 않은데 실제로 실행을 해보면 제목처럼 대상 테이블을 지정할 수 없네 어쩌네 하면서 오류가 발생합니다. MySQL에서는 동일한 테이블에 대한 서브 쿼리가 제한되어 있습니다. 그래서 이런 경우는 별칭을 붙이면 됩니다.
INSERT INTO member (mno, mname, 생략) VALUES((SELECT MAX(m.mno) + 1 FROM member AS m), '김철수', 생략)
반응형
'Programming > SQL' 카테고리의 다른 글
[MySQL]TIMESTAMPDIFF() 시간, 날짜 차이 (0) | 2022.12.01 |
---|---|
[MySQL]특정 조건에 포함되지 않는 모든 데이터 삭제하기 (0) | 2022.06.16 |
테이블 구조(MySQL) 쿼리로 갖고 오기 (0) | 2022.02.04 |
[MySQL]정렬 순서가 있는 게 먼저 나오고 없는 게 나중에... (0) | 2021.12.09 |
[MySQL]ORDER BY (0) | 2020.03.10 |