집 >데이터 베이스 >MySQL 튜토리얼 >이제 MySQL 테이블에 CURRENT_TIMESTAMP가 포함된 여러 TIMESTAMP 열이 있을 수 있습니까?
CURRENT_TIMESTAMP 제한이 해제된 하나의 TIMESTAMP 열
이전 버전의 MySQL에서는 테이블에 CURRENT_TIMESTAMP 값이 있는 하나의 TIMESTAMP 열만 있을 수 있었습니다. DEFAULT 또는 ON UPDATE 절 중 하나입니다. 이러한 열이 여러 개 있는 테이블을 생성하려고 하면 오류가 발생했습니다.
제한 조항
아래 명령문은 오류가 발생하기 쉬운 구조를 보여줍니다.
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;
오류 반환됨:
Error Code : 1293 Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
역사적 이유
이 제한은 역사적으로 코드 레거시 이유에 뿌리를 두고 있습니다. 그러나 최근 MySQL 버전에서는 해제되었습니다.
제한 사항 제거
2012년 4월 10일 MySQL 5.6.5에서 제한 사항이 제거되었습니다. 릴리스 노트 state:
"이전에는 테이블당 최대 하나의 TIMESTAMP 열을 자동으로 초기화하거나 현재 날짜 및 시간으로 업데이트되었습니다. 모든 TIMESTAMP 열 정의에는 DEFAULT CURRENT_TIMESTAMP 및 ON UPDATE CURRENT_TIMESTAMP 절을 조합하여 사용할 수 있습니다."
의미
MySQL의 이번 변경으로 다음이 가능해졌습니다. 테이블 디자인의 유연성이 향상되었습니다. 이제 개발자는 CURRENT_TIMESTAMP 값과 함께 여러 TIMESTAMP 열을 사용하여 단일 엔터티의 다양한 측면에서 변경 사항을 추적할 수 있습니다.
위 내용은 이제 MySQL 테이블에 CURRENT_TIMESTAMP가 포함된 여러 TIMESTAMP 열이 있을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!