반응형
mysql 테이블 열 기본값을 어떻게 변경합니까?
모든 업데이트에서 timestamp
기본값 current_timestamp
및 업데이트 되는 유형의 열이있는 테이블이 current_timestamp
있습니다.
이 열에서 "업데이트시"기능을 제거하고 싶습니다. alter 문을 어떻게 작성합니까?
다음을 시도했습니다.
ALTER TABLE mytable alter column time set DEFAULT now();
그러나 이것은 작동하지 않았습니다.
Pete는 거의 정확했지만 'change'에 대해 잘못된 구문을 사용했습니다.
ALTER TABLE mytable CHANGE `time` `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
열 이름을 반복해야합니다. 또한 열 이름 시간을 이스케이프하기 위해 작은 따옴표 대신 백틱을 사용하여 시간의 mysql 열 유형으로 해석되지 않도록하십시오.
CURRENT_TIMESTAMP의 DEFAULT를 지정하면 MySQL은 더 이상 열을 자동으로 업데이트하지 않습니다. 로부터 MySQL의 매뉴얼 :
DEFAULT CURRENT_TIMESTAMP 절이 있고 ON UPDATE 절이없는 경우 열에는 기본값에 대한 현재 타임 스탬프가 있지만 자동으로 업데이트되지는 않습니다.
AFAIK는 NOW ()와 같은 함수를 기본값으로 사용할 수 없습니다.
시험
ALTER TABLE `mytable` CHANGE `time` `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
(이스케이프 및 필드 이름의 두 번째 사용을 추가하도록 편집 됨)
참조 URL : https://stackoverflow.com/questions/1770203/how-do-i-alter-a-mysql-table-column-defaults
반응형
'programing' 카테고리의 다른 글
각도 CLI를 사용하여 특정 버전의 각도 설치 (0) | 2021.01.14 |
---|---|
레드-블랙 트리 (0) | 2021.01.14 |
두 가지 요소 중 하나가 있으면 무언가를하십시오. (0) | 2021.01.14 |
PHP에서 헤더 ( 'Location ..')를 통해 리디렉션 후 'exit'를 호출해야하는 이유는 무엇입니까? (0) | 2021.01.14 |
LINQ to SQL은 더 이상 사용되지 않습니까? (0) | 2021.01.14 |