Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何在grails域中捕获毫秒_Mysql_Grails_Time - Fatal编程技术网

Mysql 如何在grails域中捕获毫秒

Mysql 如何在grails域中捕获毫秒,mysql,grails,time,Mysql,Grails,Time,我有一个在MySQL中存储数据的grails域 其中我有一个Date属性,它在数据库中创建了一个DateTime字段。但是,除了日期之外,我还希望捕获毫秒 有没有办法捕获毫秒 例如: Class MyClass { Date dateCreated } 在MySQL中以2014-10-06 16:21:57的形式存储数据,但我也想捕获毫秒 MySQL 5.6.4及更高版本通过定义对象的小数点数量,可以在数据库中为datetime对象节省毫秒。(请在此处阅读更多内容:)。默认情况下,Gr

我有一个在MySQL中存储数据的grails域

其中我有一个
Date
属性,它在数据库中创建了一个
DateTime
字段。但是,除了日期之外,我还希望捕获毫秒

有没有办法捕获毫秒

例如:

Class MyClass {

  Date dateCreated

}

在MySQL中以
2014-10-06 16:21:57的形式存储数据,但我也想捕获毫秒

MySQL 5.6.4及更高版本通过定义对象的小数点数量,可以在数据库中为datetime对象节省毫秒。(请在此处阅读更多内容:)。默认情况下,Grails/Gorm不会这样做。幸运的是,通过在域中定义一个sqlType可以很容易地解决这个问题,如下所示:

class ExampleDomain {
    Date date

    static mapping = {
        date sqlType: 'datetime(3)'
    }
}
您可以使用bigint(20)。如果您希望在保存实例时自动存储自unix纪元以来的纳秒数,那么groovy/grails域可能会是这样的:

class myClass {

  Integer id
  Long timestamp = System.nanoTime()

  static mapping = {
    timestamp sqlType: "bigint"
  }
}

我想在MySQL中捕获需要运行查询以确定创建请求的确切时间的时间的毫秒。MySQL支持这一点,例如,如果手动创建表,则可以创建datetime(3)类型的列。我也在寻找一种方法让grails为mesqlType做到这一点:“datetime(3)”无效:“您的SQL语法有一个错误;请查看与您的MySQL服务器版本对应的手册,以了解使用near'(3)…”的正确语法@Mexx您运行的是哪个MySQL版本?MySQL版本是5.5.42。哦,现在我看它已经老了。我现在正在使用bigint(20)。将纳秒保存到unix时代。