본문 바로가기
MySql

MySQL 하나의 값이 다른 테이블에없는 경우 테이블에 삽입 하시겠습니까?

by 베이스 공부 2020. 12. 9.
반응형

두 개의 테이블이 있는데 동일한 열 id 가 있지만 table1 에는 table2 보다 더 많은 id 가 있습니다. 이제 table1 에서 해당 id a를 찾고 싶지만 table2 에는 존재하지 않는 id 에 삽입하고 싶습니다. > table2 , count 값을 0으로 설정합니다.

다음 코드를 시도했지만 구문 오류, 예기치 않은 IF 가 표시됩니다.

if not exists(select * from table1 where table1.id = table2.id)
begin
    insert into table2 (id, count) values (table1.id, 0)
end

 

해결 방법

 

단일 insert를 사용하여이를 수행 할 수 있습니다. . . select 문 :

insert into table2(id, count)
    select id, 0
    from table1 t1
    where not exists (select 1 from table2 t2 where t2.id = t1.id);

if ( if 가 프로 시저 / 함수 / 트리거 코드에서만 허용됨)에 오류가 발생하면 MySQL을 사용하고 있다고 생각합니다. 그러나 허용되는 경우 if 인 경우에도 exist 의 쿼리가 table2.id 를 참조하고 table2 from 절. 이것이 다음 오류입니다.

 

참조 페이지 https://stackoverflow.com/questions/22577491

 

 

반응형

댓글