我在Golang中生成datetime作为string,当我将生成的datetime插入到我的mysql表中时,datetime的列的值变为如下:0000-00-00 00:00:00但它应该是这样的:2019-08-21 11 :05:45。

我不明白为什么datetime变为零。但我猜测,有一些不匹配。

golangDateTime := time.Now().Format("02-01-2006 03:04:05") 

上面的代码将datetime时间作为string返回。但在我的数据库表中,列类型是datetime。我将类型更改为varchar并且它有效。但我想把它作为datetime类型而不是varchar。

如果有任何可能的方法将golangDateTime插入我的mysql datetime列,请告诉我。提前致谢。

分析解答

您的日期格式string与MySQL不兼容。它应该是

golangDateTime := time.Now().Format("2006-01-02 15:04:05")