programing

다른 테이블에서 한 값을 선택한 경우

randomtip 2022. 10. 3. 22:15
반응형

다른 테이블에서 한 값을 선택한 경우

난 그러고 싶다.insert테이블에 새로운 값 추가where값 중 하나는 조건이 있는 다른 테이블에서 선택되고 다른 하나는 상수(하드코드됨)입니다.

이 명령어는 구문 오류를 표시합니다.

INSERT INTO table1 (itemId, reservedId) VALUES (SELECT id FROM table2 WHERE condition, 213) ;

오류 메시지: 2행 구문 오류

구문은 다음과 같습니다.INSERT . . . SELECT:

INSERT INTO table1 (itemId, reservedId) 
     SELECT id, 123
     FROM table2
     WHERE condition ;

아니요.VALUES필요합니다.

지금까지 보신 바와 같이 값을 혼합하여 문장을 선택할 수 없습니다.단, 같은 테이블에서 삽입할 리터럴 값을 선택할 수 있습니다(단,valuesclause - 이 명령어는select스테이트먼트):

INSERT INTO table1 (itemId, reservedId)
SELECT id, 213 FROM table2 WHERE condition;

다음 중 하나를 사용할 수 있습니다.

insert into yourtable(...) values(...)[, (...)...]

또는

insert into yourtable(...) select ...

두 구문을 혼동한 것이 실수입니다.필요 없습니다.values(...)여기 당신의 주위를 감싸고select:

INSERT INTO table1 (itemId, reservedId) 
SELECT id, 213 
FROM table2 
WHERE condition;

213은 다음 값입니다.reservedId그리고 그 안에서 아무것도 할 수 없다.where절을 클릭합니다.

언급URL : https://stackoverflow.com/questions/63504046/insert-when-one-value-is-selected-from-other-table

반응형