반응형
ALTER
구문을 사용하여 테이블에 인덱스를 추가하고 싶지만 먼저 테이블에 이미 존재하는지 확인하고 존재하지 않는 경우에만 인덱스를 추가합니다.
ALTER TABLE tableName ADD INDEX IX_Table_XYZ (column1);
이렇게 할 수있는 방법이 있습니까?
해결 방법
다음과 같이 시도하십시오.
set @x := (select count(*) from information_schema.statistics where table_name = 'table' and index_name = 'IX_Table_XYZ' and table_schema = database());
set @sql := if( @x > 0, 'select ''Index exists.''', 'Alter Table TableName ADD Index IX_Table_XYZ (column1);');
PREPARE stmt FROM @sql;
EXECUTE stmt;
참조 페이지 https://stackoverflow.com/questions/30259196
반응형
'MySql' 카테고리의 다른 글
MySQL 기존 테이블에 새 열거 형 열 추가 (0) | 2020.11.20 |
---|---|
MySQL go-sql-driver로 새 MySQL 데이터베이스를 만드는 방법 (0) | 2020.11.20 |
MySQL mysql의 쿼리 길이에 제한이 있습니까? (0) | 2020.11.19 |
MySQL에서 초없이 Time 데이터 유형 사용 (0) | 2020.11.19 |
MySQL JDBC 문자 인코딩 (0) | 2020.11.19 |
댓글