본문 바로가기
Dev/DataBase

[MariaDB] MariaDB/MySQL 오류 UNION ALL 오류

by nakanara 2020. 10. 20.
반응형

mariadb 가상 테이블을 사용하여 만든 결과 값을 UNION 할 경우 프로세스가 종료되는 등, Docker로 설치된 mariadb는 정상인데, Install 로 설치한 mariadb는 발생하였다.(나의 생각)

찾아보단 중 가상테이블의 결과를 UNION 하는 순간 오류가 발생한 이슈가 있어서 찾긴 했는데 해결 방안이 없어서 고민하던 도중, 가상테이블을 다시 한번 감싸서 사용했더니 발생하지 않았다.

MariaDB 10.3 버전 사용 중

select @@version;

create table foo (
  a bigint(10) not null auto_increment, 
  b int(5) not null, 
  c bigint(10) default null, 
  primary key (`a`)
);

insert into foo values (1,1,12);
  • RECURSIVE 사용한 테이블을 UNION ALL 사용한 경우 오류 발생, 접속 종료 등의 오류 생성
With recursive tree as (
  select a, b, c from foo
  union all
  select A.a, A.b, A.c from foo A inner join tree as B on A.c = B.a
)
select 0 as b from daul
union all
select b from tree;
  • 처리 방안

UNION ALL을 가상테이블화 한 결과를 select 처리

With recursive tree as (
  select a, b, c from foo
  union all
  select A.a, A.b, A.c from foo A inner join tree as B on A.c = B.a)
), tree_table as (
  select 0 as b from daul
  union all
  select b from tree
) 
select * from tree_table;

 

반응형