다른 DBMS 만 쓰다가 오랫만에 mysql 을 쓰는데
Table 생성시 datetime 형태의 필드에 default value 로 now 나 now() 를 집어넣으니 에러가 발생하네요.
조언 부탁드립니다.
MySQL 은 다른 DBMS 와는 달리 default value 로 now(), curdate() 등의 함수를 지정할 수 없습니다.
앞으로 수정되어야 할 부분인데...
그 대신 해결할 수 있는 대안을 마련해 두었습니다.
정의된 테이블에 처음으로 등장하는 timestamp 라는 자료형의 column 에 대해서는 default 로 현재의 시간이 자동으로 insert 됩니다.
약간 불편한 면은 있지만, 일반적으로 하는 웹프로그래밍상에서는 이 정도 대안만으로도 90% 는 해결이 됩니다.
참조하시기 바랍니다.
=====================================
아래 구문을 테스트해 보지는 않았고, 그냥 예시로 적어 둡니다.
CREATE TABLE t (a int, b timestamp);
INSERT INTO TABLE t(a) VALUES (1);
SELECT * FROM t;
해 보시면 결과를 알수 있을 것입니다.
default value로 함수는 쓸 수 없는 것이 현재 MySQL의 특징(?) 이랄까요...
대신 CURRENT_TIMESTAMP를 쓰시길 바랍니다.