반응형
다른 테이블에서 한 값을 선택한 경우
난 그러고 싶다.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
필요합니다.
지금까지 보신 바와 같이 값을 혼합하여 문장을 선택할 수 없습니다.단, 같은 테이블에서 삽입할 리터럴 값을 선택할 수 있습니다(단,values
clause - 이 명령어는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
반응형
'programing' 카테고리의 다른 글
mysqldump에서 플로트 번호를 삽입하는 방법 (0) | 2022.10.03 |
---|---|
ER_HOST_NOT_PRIVILEGED - 도커 컨테이너가 mariadb에 연결하지 못함 (0) | 2022.10.03 |
레지스트리 키를 여는 동안 Java 오류 발생 (0) | 2022.10.03 |
MySQL "외부 키 제약 조건이 완전히 형성되었습니다" (0) | 2022.10.03 |
MariaDB가 지원할 수 있는 최대 레코드 수 (0) | 2022.10.03 |