2011-02-28 3 views
0

MySQL과 함께 CLSQL을 사용하고 있습니다. create-table에 전달해야하는 키워드 조합으로 타임 스탬프 열 유형의 열을 제공해야합니까?CLSQL timestamp 열 유형

(create-table [foo] `(([bar] timestamp))) 

은 인식 할 수 없습니다 (열 유형을 지정하지 않으면 기본값 인 varchar 255 열이 생성됩니다). this reference page에 따르면 wall-time은 타임 스탬프 열을 만들어야하지만 datetime (이는 timestamp과 동일하지 않음)을 만듭니다.

또한 위에 링크 된 CLSQL 열 유형 참조가 있습니까?

답변

1

왜 datetime을 사용하지 않으시겠습니까? 내가 발견 한 유일한 차이점은 범위입니다. 당신이 clsql의 소스를 보면 예를 here를 들어, 그것은 모든 코드와 잘 것을 의미

(defmethod database-get-type-specifier ((type (eql 'wall-time)) args database 
              (db-type (eql :mysql))) 
    (declare (ignore args database)) 
    "DATETIME") 

볼, 모습을 here

The DATETIME type is used when you need values that contain both date and time information. MySQL retrieves and displays DATETIME values in 'YYYY-MM-DD HH:MM:SS' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59'. 

The TIMESTAMP data type has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC. 

을 가지고 . 어떤 인용문을 역 인용 부호 나 간단한 인용 부호를 사용합니까?

+0

MySQL'TIMESTAMP'는 레코드가 업데이트 될 때마다 자동으로 업데이트되도록 설정할 수 있습니다. 'DATETIME'은 명시 적으로 설정되어야합니다. – Inaimathi