programing

MySql은 선택한 결과를 삽입합니다.

lastcode 2023. 10. 9. 23:18
반응형

MySql은 선택한 결과를 삽입합니다.

다음과 같은 요청을 실행할 수 있는지 알고 싶습니다.

INSERT INTO t2 (a, b) 
VALUES (
 SELECT a, b
 FROM `t1` AS o
 WHERE o.id NOT 
 IN (
  SELECT a
  FROM t2 
  )
)

아이디어는 t1의 데이터로 t2를 채우자는 것인데, 구문이 틀렸나 봅니다.

도와주셔서 고마워요.

당신은 사용하지 않습니다.VALUESa에서 삽입할 때 키워드SELECT진술.

INSERT INTO t2 (a, b) 
 SELECT a, b
 FROM `t1` AS o
 WHERE o.id NOT 
 IN (
  SELECT a
  FROM t2 
  )

제거.values

맘에 들다

INSERT INTO t2 (a, b) 
SELECT a, b
FROM `t1` AS o
WHERE o.id NOT 
IN 
(
  SELECT a
  FROM t2 
);

또는 더 읽기 쉬운 형식

INSERT INTO t2 (a, b) 
SELECT o.a, o.b
FROM `t1` AS o
LEFT JOIN t2 ON o.id=t2.a
WHERE t2.a IS NULL;

쿼리에 값이 필요하지 않습니다.

언급URL : https://stackoverflow.com/questions/4472929/mysql-insert-the-results-of-a-select

반응형