5.6.5 이전에 mySQL 버전에서 기본적으로 또는 업데이트 클로즈가있는 타임 스탬프 열에서 제한 기본적으로 current_timestamp 또는 업데이트 current_timeStamp 절을 가진 타임 스탬프 열이 하나만있는 것으로 제한되는 제한이었습니다. 이 제한은 2008 년에 처음 소개되었을 때 Int, Bigint 및 Smallint 정수로 확장되었습니다.
이 제한은 현재 _timestamp 기능에 대한 특정 구현이 필요한 레거시 구현 문제에서 비롯됩니다.
예를 들어, 다음 테이블 정의를 고려하십시오.이 테이블 정의를 고려하십시오.이 테이블 정의는 current_timestamp 값을 가진 두 개의 타임 스탬프 열을 정의하려고 시도합니다.
CREATE TABLE `foo` ( `ProductID` INT(10) UNSIGNED NOT NULL, `AddedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, `UpdatedDate` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ) ENGINE=INNODB;테이블 만들기`foo` `productId` int (10) 서명되지 않은 null, `adddate 'timestamp null default current_timestamp, `updatedDate 'timestamp null null default current_timestamp 업데이트 current_timestamp ) Engine = innodb;
이 정의는 다음과 같은 오류를 초래합니다.
는 기본적으로
current_timestamp가있는 하나의 타임 스탬프 열이 될 수 있습니다.
업데이트 절
이 오류는 표 정의가 위에서 언급 한 제한을 위반했음을 나타냅니다.
[
이 제한에 대한 기술 기반에도 불구하고 MySQL 팀은 불편을 인식했습니다. 그 후, MySQL 5.6.5 (2012 년 4 월 10 일에 출시)에서 제한이 해제되었습니다.
이 업데이트의 변경 로그는 다음과 같습니다. 현재 날짜 및 시간에 자동으로 초기화되거나 업데이트 될 수 있습니다. 이 제한은 해제되었습니다. 모든 타임 스탬프 열 정의에는 기본 current_timeStamp와 업데이트 Current_timestamp Clauses의 조합이있을 수 있습니다. 또한이 조항은 이제 DateTime 열 정의와 함께 사용할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3