sourcecode

mysql 테이블의 컬럼 기본값을 변경하려면 어떻게 해야 합니까?

copyscript 2022. 11. 6. 13:37
반응형

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

반응형