mysql에서 value이름으로 된 테이블이 존재하는지 확인하기

조회수 444회
DB : MySQL 5.7
TABLE : my_table
DB NAME : test
TABLE NAME : my_table 
    id INT
    table_name VARCHAR(32)
    PK (table_name)

TARGET DB NAME : test2

위의 기재한 스키마 정보처럼 test DB의 my_table이란 테이블에는 test2 DB에 존재하는 테이블 이름을 갖고 있습니다.

my_table을 조회하여 각 행마다 test2에 테이블이 존재하는지 확인하고 싶습니다. 제 시도는 아래와 같습니다만, limit 1을 제거하니까 실행이 안 됩니다. (오류 발생이 아니라 그냥 무한 진행중... limit 2를 해도 안 되네요.)

방법이 있을까요?

# try
SELECT 
    id, 
    table_name, 
    (SELECT count(0) FROM information_schema.tables WHERE table_schema = 'test2' AND table_name = table_name)
FROM test.my_table;

  • 이런 걸 왜 하셔야 하는 거에요? 테이블이 있는지 없는지 알아내야 하는 상황이 온다는 건 애플리케이션 구현 과정에 있어서 절대 좋은 징조는 아니에요. 엽토군 2021.7.26 21:15
  • 유지보수 과정에서 육안으로 확인이 필요해서 하는거지 서비스에 적용되는 건 아니에요. 방법을 아시면 알려주시고 이런식의 충고는 사양하겠습니다. 김재민 2021.7.27 13:07
  • 네.. 엽토군 2021.7.27 14:04

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)