>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 `DEFAULT CURRENT_DATE`가 작동하지 않는 이유(그리고 언제 작동합니까?)

MySQL에서 `DEFAULT CURRENT_DATE`가 작동하지 않는 이유(그리고 언제 작동합니까?)

Barbara Streisand
Barbara Streisand원래의
2024-12-10 06:19:14361검색

Why Doesn't `DEFAULT CURRENT_DATE` Work in MySQL (and When Does It?)

CURRENT_DATE/CURDATE()를 기본 DATE 값으로 수정

간단한 외관에도 불구하고 CURRENT_DATE 또는 CURDATE()를 기본값으로 설정 아래 구문을 사용하는 DATE 열은 그렇지 않을 수 있습니다. 함수:

CREATE TABLE INVOICE(
   INVOICEDATE DATE NOT NULL DEFAULT CURRENT_DATE
)

이유:

이 코드는 직관적으로 보일 수 있지만 MySQL 제한으로 인해 실패합니다. 문서에 따르면 DEFAULT 절은 열에 대한 상수 값을 요구합니다. CURRENT_DATE와 같은 함수나 표현식은 허용되지 않습니다.

해결책:

이전에는 이 문제가 MySQL 8.0.13 이전 버전에서도 지속되었습니다. 그러나 MySQL 8.0.13 이상에서는 이제 CURRENT_DATE() 또는 CURDATE()를 DATE 열의 기본값으로 사용할 수 있으므로 해결 방법이 필요하지 않습니다.

위 내용은 MySQL에서 `DEFAULT CURRENT_DATE`가 작동하지 않는 이유(그리고 언제 작동합니까?)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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