Mysql CLSQL时间戳列类型
我将CLSQL与MySQL结合使用。我必须向Mysql CLSQL时间戳列类型,mysql,common-lisp,sbcl,clsql,Mysql,Common Lisp,Sbcl,Clsql,我将CLSQL与MySQL结合使用。我必须向create table传递哪些关键字组合才能给它一个具有timestamp列类型的列 (create-table [foo] `(([bar] timestamp))) 无法识别(它只创建一个varchar 255列,如果不指定列类型,这是默认值)。根据,wall time应该创建一个timestamp列,但只创建一个datetime(这与MySQLtimestamp不同) 另外,还有比我上面链接的更好的CLSQL列类型引用吗?为什么不使用date
create table
传递哪些关键字组合才能给它一个具有timestamp列类型的列
(create-table [foo] `(([bar] timestamp)))
无法识别(它只创建一个varchar 255列,如果不指定列类型,这是默认值)。根据,wall time
应该创建一个timestamp列,但只创建一个datetime
(这与MySQLtimestamp
不同)
另外,还有比我上面链接的更好的CLSQL列类型引用吗?为什么不使用datetime?我发现的唯一区别是范围。 看一看 例如,如果您查看clsql的源代码,您将看到
(defmethod database-get-type-specifier ((type (eql 'wall-time)) args database
(db-type (eql :mysql)))
(declare (ignore args database))
"DATETIME")
这意味着你的代码一切正常。你用什么样的引号“后引号”或“简单引号” MySQL
TIMESTAMP
可以设置为每次记录为update
d时自动更新。必须明确设置DATETIME
。
(defmethod database-get-type-specifier ((type (eql 'wall-time)) args database
(db-type (eql :mysql)))
(declare (ignore args database))
"DATETIME")