반응형
두 개의 테이블이 있는데 동일한 열 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 |
댓글