필드 길이를 전체적으로 수정할 일이 생겼다.
인터페이스하는 쪽에서는 정보 주체가 전달하는 대로 데이터 타입을 맞춰야하므로
전체적인 수정이 필요해졌다... ㅠ_ㅠ
어디서부터 어떻게 손을 대야 하나 고민이 되니까
전체 DB에서 특정 필드를 찾기 위한 쿼리를 날려보도록 하자.
원래 귀찮은 사람이 조금이라도 일을 덜하기 위해서 방법을 찾는다고 하던데 딱 그 격이다.
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLUMN_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = '원하는 DB 스키마 입력'
AND COLUMN_NAME LIKE '%원하는 검색어 입력%'
나의 경우는 이름 필드가 변경될거라 NAME을 기준으로 검색했다.
FILE_NAME, REG_NAME, MOD_NAME 등 다양한 결과가 나오므로 쿼리는 원하는 방식대로 짜시길.
여기서 핵심은 INFORMATION_SCHEMA 다.
이 Database를 잘 활용하면 접속한 DB에서 원하는 결과값이나 세팅정보 등을 읽어올 수 있다.
필드가 변경되었으니 테이블 뿐 아니라, Function과 Procedure도 같이 수정해주자.
이 역시도 INFORMATION_SCHEMA.ROUTINES 라는 테이블을 이용하면 쉽게 찾을 수 있다.
SELECT SPECIFIC_NAME, ROUTINE_TYPE, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_SCHEMA = '원하는 DB 스키마 입력'
AND ROUTINE_TYPE in ('FUNCTION', 'PROCEDURE')
AND ROUTINE_DEFINITION LIKE '%원하는 검색어%'
ROUTINE_DEFINITION에는 펑션, 프로시저에 정의된 내용들이 나오므로
그 내용에서 원하는 검색어가 포함되어 있으면 결과값으로 반환된다.
오늘도 이 포스팅이 빠른 퇴근 정시 퇴근에 도움이 되었길 바라며!
'DataBase > MySQL, MariaDB' 카테고리의 다른 글
INSERT 시 Duplicate entry 에러가 발생한다면? : INSERT INTO ON DUPLICATE KEY UPDATE (0) | 2019.05.24 |
---|---|
Commons DBCP 설정값 알아보기 (0) | 2018.08.06 |
SELECT JOIN 문을 이용한 UPDATE QUERY (0) | 2017.03.30 |
DML(Data Manipulation Language) - INSERT 사용에 대해서 (1) | 2011.07.07 |
MySQL Storage Engine의 양대산맥! MyISAM vs InnoDB (3) | 2011.03.31 |