티스토리 뷰
MySQL 테이블 존재 여부 확인 과정을 거치고 그 존재 여부에 따른 상황 판단 작업이 필요하여 코드를 작성하게되었습니다. (한마디로 IF/ELSE문 입니다.)
개발 환경은 JAVA/SPRING, MySQL, Mybatis 입니다.
1. 테이블 존재 여부를 확인하여야 한다.
2. 테이블 존재 여부를 확인한 후,
->존재한다면 SELECT문을 한번더 실행
->존재하지 않는다면 0을 리턴
하는 코드값이 필요하였습니다.
#테이블 존재여부 쿼리
1 2 3 4 5 | SELECT COUNT(*) #카운트 결과값이 0 이면 존재X, 1 이상 존재O FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'DB 이름' AND TABLE_NAME = '테이블 이름' | cs |
존재여부를 파악한 뒤, 처음 시도는 프로시저형식으로 시도를하였으나 제가사용하고있는 MySQL은 MyBatis에서 변수 선언식으로 동작을 하지않아 다른방법을 택하였습니다.
두가지 방법다 필요하신분이 있을수도 있어 같이 포스팅 합니다.
#변수 선언 - 1안
1 2 3 4 5 6 7 8 9 | SET @test := CASE (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'DB 이름' AND TABLE_NAME = '테이블 이름' ) WHEN 0 THEN 0 #존재하지 않는다면 0 ELSE (SELECT 1+1 FROM DUAL) #ELSE 존재한다면 후 처리 쿼리 END; SELECT @test | cs |
#MyBatis 사용 IF문 쿼리 - 2안
1 2 3 4 5 6 7 8 9 | SELECT IF( (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'DB 이름' AND TABLE_NAME = '테이블 이름') > 0 # 결과값이 0보다 크다면 테이블이 존재 , (SELECT 1+1 FROM DUAL) # 존재한다면 후 처리 쿼리 , 0 #ELSE 존재하지 않는다면 후 처리 쿼리 ) AS CNT | cs |
참고로 제가 사용하고있는 Mybatis는 3.3.0 버전 입니다.
* 참고링크
https://stackoverflow.com/questions/18738909/mysql-select-if-table-exists
반응형
'IT > MySQL' 카테고리의 다른 글
MySQL 이벤트스케줄러 생성 (Event Scheduler) (0) | 2018.11.02 |
---|---|
MySQL 이벤트스케줄러 활성화 (Event Scheduler) (0) | 2018.11.02 |
MySQL 세로 데이터를 가로로 만들기 (0) | 2018.09.28 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 대구 예쁜 카페
- 자바스크립트
- 대구 카페
- MySQL
- 대구 이색 카페
- 중국직구
- 자연 카페
- 스픽
- 대구 데이트 코스
- 대구 데이트
- 자바
- 앞산 맛집
- HTML
- JavaScript
- 베트남
- 구글 클라우드
- 안드로이드
- 베트남 여행
- 하노이 여행
- 코디얼 호텔
- 대구 맛집
- 데이트 코스
- 타오바오
- 서포트포스트
- 대구 주차장 카페
- Google Adsense
- xcode
- 구글 애드센스
- 베트남 하노이
- 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함