Метка времени CLSQL Тип столбца - PullRequest
0 голосов
/ 28 февраля 2011

Я использую CLSQL с MySQL.Какую комбинацию ключевых слов я должен передать create-table, чтобы присвоить ему столбец с типом столбца отметки времени?

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

не распознан (он просто создает столбец varchar 255, который используется по умолчаниюесли вы не указали тип столбца).Согласно этой справочной странице , wall-time должен создавать столбец отметки времени, а просто создает datetime (что не то же самое, что MySQL timestamp).

Также, есть ли лучшая ссылка на тип столбца CLSQL, чем та, которую я связал выше?

1 Ответ

1 голос
/ 13 августа 2011

Почему вы не хотите использовать datetime? Единственное отличие, которое я нашел, это диапазон. Взгляните здесь

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. 

Если вы посмотрите на источники clsql, например здесь , вы увидите

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

Это означает, что с вашим кодом все в порядке. В какой цитате вы используете обратную цитату или простую цитату?

...