>데이터 베이스 >MySQL 튜토리얼 >이제 MySQL 테이블에 CURRENT_TIMESTAMP가 포함된 여러 TIMESTAMP 열이 있을 수 있습니까?

이제 MySQL 테이블에 CURRENT_TIMESTAMP가 포함된 여러 TIMESTAMP 열이 있을 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-30 01:47:10383검색

Can MySQL Tables Now Have Multiple TIMESTAMP Columns with CURRENT_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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.