반응형
mysql 테이블의 컬럼 기본값을 변경하려면 어떻게 해야 합니까?
타이프 기둥이 있는 테이블이 있습니다.timestamp
디폴트 설정current_timestamp
및 업데이트current_timestamp
갱신할 때마다.
이 열의 "업데이트 중" 기능을 제거합니다.다른 명세서는 어떻게 써야 하나요?
다음을 시도했습니다.
ALTER TABLE mytable alter column time set DEFAULT now();
근데 이게 안 되더라고요.
Pete는 거의 맞지만 'change'에 잘못된 구문을 사용했습니다.
ALTER TABLE mytable CHANGE `time` `time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
열 이름을 반복해야 합니다.또한 열 이름 시간을 이스케이프하기 위해 작은 따옴표 대신 backtick을 사용해야 합니다.그러면 mysql 열 유형의 시간으로 해석되지 않습니다.
CURRENT_TIMESTamp의 DEFAULT를 지정하면 MySQL은 열을 자동으로 업데이트하지 않습니다.MySQL 매뉴얼:
DEFAULT CURRENT_TIMESTamp 절이 있고 ON UPDATE 절이 없는 경우 컬럼에는 기본값의 현재 타임스탬프가 있지만 자동으로 업데이트되지는 않습니다.
디폴트로는 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
반응형
'sourcecode' 카테고리의 다른 글
json 경로(mariadb) (0) | 2022.11.06 |
---|---|
div 안의 요소로 스크롤하는 방법 (0) | 2022.11.06 |
PHP 유닛 테스트 실행 중 CLI에서 출력하는 방법 (0) | 2022.11.06 |
jdbc:mariadb(Netbeans)에 적합한 드라이버를 찾을 수 없습니다. (0) | 2022.11.06 |
vue를 사용하여 lodash에 메서드를 전달하면 '예상된 기능'이 제공됩니다. (0) | 2022.10.27 |