programing

열이 있는 경우 변경

firstcheck 2023. 1. 21. 10:10
반응형

열이 있는 경우 변경

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 EXISTSMariaDB가 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

반응형