다음과 같은 테이블이 있습니다. 그것은 여전히 MySQL의 2 열 타임 스탬프 기본값 NOW 값 1067
mysql> SELECT @@sql_mode;
+------------+
| @@sql_mode |
+------------+
| |
+------------+
1 row in set (0.00 sec)
을주고있다 : here 내 출력을 지적 내 sql_mode은 NO_ZERO_DATE
를 포함하지 않는
CREATE TABLE IF NOT EXISTS mytable (
id INT NOT NULL AUTO_INCREMENT ,
create_date TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00' ,
update_date TIMESTAMP NULL DEFAULT NOW() ON UPDATE NOW() ,
PRIMARY KEY (`parti_id`))
ENGINE = InnoDB;
here을 같이 이제 하나 개의 기본
의 MySQL의 열 제한을 해결하기 위해 나는 팁을 사용 아래 표시된 오류 :
ERROR 1067 (42000) at line xx in file: '/myschema.sql': Invalid default value for 'create_date'
나는 5.1.37에서 MySQL을 사용합니다. 우분투
어떻게 해결할 수 있습니까? 감사.
당신의 MySQL의 버전을 업데이트 시도 할 수 있습니다 현재 시간 소인을 컬럼 초기화, 자동 갱신 값 또는 둘 다를위한 디폴트 값으로 가질 수 있습니다. 현재 시간 소인을 하나의 컬럼에 대한 디폴트 값으로 할 수없고 자동 갱신 값 다른 열을 위해. " –
이것이"버그 "인지 여부에 대한 논쟁은 심각하게 성가시다. 두 번째 열이 자동 업데이트되는 now()의 기본값을 가진 두 개의 타임 스탬프 열이없는 이유는 무엇입니까? 대답은 MySQL이 그렇게하지 않는다는 것입니다. 나는 그 기능을 실제로 부르지 않는다. –
랜디가 답장을 보내 주셔서 감사합니다. 귀하가 제공 한 링크에 대해 알고 있습니다. 난 그냥 해결 방법을 찾습니다. 그러나 인터넷에 표시된 모든 트릭이 작동하지 않는 것 같습니다. –