반응형
열이 있는 경우 변경
MariaDB가 지원하는 것 같습니다.IF EXISTS
와 함께CHANGE
'ALTER TABLE 쿼리(https://mariadb.com/kb/en/library/alter-table/) 단, 자세한 설명서는 이를 나타내지 않습니다.테스트 테이블에 대한 몇 가지 쿼리 예를 다음에 나타냅니다.
ALTER TABLE `test` CHANGE COLUMN `col2` `col2` INT(1) NOT NULL AFTER `col1`;
ALTER TABLE `test` CHANGE COLUMN `col2` `col2` INT(2) NOT NULL AFTER `col1`;
단, 추가 시IF EXISTS
MariaDB가 systax 오류를 발생시킵니다.
ALTER TABLE `test` CHANGE COLUMN `col2` IF EXISTS `col2` INT(1) NOT NULL AFTER `col1`;
네, 이것은 SQL 표준의 일부가 아닌 것 같습니다(또한 MySQL과의 호환성에 대해서는 신경 쓸 필요가 없습니다).다만, 보다 명확한 찬성 또는 반대에는 관심이 있습니다.IF EXISTS
특히 와 함께CHANGE
그렇다면 올바른 구문은 어떻게 보일까요?로컬에서는 MariaDB 10.2.6을 사용하고 있습니다.
틀렸습니다
ALTER TABLE `test` CHANGE COLUMN `col2` IF EXISTS `col2` INT(1) NOT NULL AFTER `col1`;
틀렸습니다
ALTER TABLE `test` CHANGE COLUMN `col2` `col2` IF EXISTS INT(1) NOT NULL AFTER `col1`;
맞아요.
ALTER TABLE `test` CHANGE COLUMN IF EXISTS `col2` `col2` INT(1) NOT NULL AFTER `col1`;
그IF EXISTS
즉시 뒤따라야 한다CHANGE COLUMN
.
언급URL : https://stackoverflow.com/questions/50786239/change-column-if-exists
반응형
'programing' 카테고리의 다른 글
PDO와 마리아DB (0) | 2023.01.31 |
---|---|
unix 타임스탬프 문자열을 읽을 수 있는 날짜로 변환하는 중 (0) | 2023.01.21 |
레코드의 변경 내역을 추적하는 MySQL 옵션/기능이 있습니까? (0) | 2023.01.21 |
한 줄로 동적으로 인쇄 (0) | 2023.01.21 |
주의: 정의되지 않은 오프셋: 0 in (0) | 2023.01.21 |