"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 버전 5.6.5 이전에 MySQL의 Timestamp 열을 사용하여 current_timestamp를 사용하는 데 제한 사항은 무엇입니까?

버전 5.6.5 이전에 MySQL의 Timestamp 열을 사용하여 current_timestamp를 사용하는 데 제한 사항은 무엇입니까?

2025-02-04에 게시
검색:558

What Were the Restrictions on Using CURRENT_TIMESTAMP with TIMESTAMP Columns in MySQL Before Version 5.6.5?

5.6.5 이전에 mySQL 버전에서 기본적으로 또는 업데이트 클로즈가있는 타임 스탬프 열에서 제한 기본적으로 current_timestamp 또는 업데이트 current_timeStamp 절을 가진 타임 스탬프 열이 하나만있는 것으로 제한되는 제한이었습니다. 이 제한은 2008 년에 처음 소개되었을 때 Int, Bigint 및 Smallint 정수로 확장되었습니다.

이 제한은 현재 _timestamp 기능에 대한 특정 구현이 필요한 레거시 구현 문제에서 비롯됩니다.

ERROR 메시지 및 관련 문제

예를 들어, 다음 테이블 정의를 고려하십시오.이 테이블 정의를 고려하십시오.이 테이블 정의는 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