반응형
두 개의 테이블이 있는데 동일한 열 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
반응형
'MySql' 카테고리의 다른 글
MySQL Any good relational database tutorials? (0) | 2020.12.09 |
---|---|
MySQL How to use sum() within a group_concat()? (0) | 2020.12.09 |
MySQL 경고 : mysqli_query ()는 매개 변수 1이 주어진 mysqli 부울이 될 것으로 예상합니다. (0) | 2020.12.09 |
MySQL 현재 GMT 시간에 대한 MySQL 쿼리 (0) | 2020.12.09 |
MySQL mysql 연결 검사가 null이 아닙니다. (0) | 2020.12.09 |
댓글