Your Question
目标表结构
CREATE TABLE `test` (
`id` INT ( 11 ) AUTO_INCREMENT NOT NULL,
`name` VARCHAR ( 20 ) NULL DEFAULT NULL,
`resp_time` TIMESTAMP NULL DEFAULT NULL,
PRIMARY KEY ( `id` ))
golang 结构体
type Test struct {
ID int `gorm:"autoIncrement:true;primaryKey;column:id;type:int(11);not null" json:"id"`
Name string `gorm:"column:name;type:varchar(20);not null;default:''" json:"name"`
RespTime *time.Time `gorm:"column:resp_time;type:timestamp;default:null" json:"resp_time"`
//RespTime *time.Time `gorm:"column:resp_time;type:timestamp" json:"resp_time"`
//RespTime time.Time `gorm:"column:resp_time;type:timestamp;default:null" json:"resp_time"`
}
gorm 生成的表结构创建语句:
CREATE TABLE `test` (
`id` INT ( 11 ) AUTO_INCREMENT NOT NULL,
`name` VARCHAR ( 20 ) NULL DEFAULT NULL,
`resp_time` TIMESTAMP DEFAULT NULL,
PRIMARY KEY ( `id` ))
执行报错:
Error 1067 (42000): Invalid default value for 'resp_time'
Expected answer
期望的 SQL 为: resp_time TIMESTAMP NULL DEFAULT NULL
gorm 生成的 SQL 为:resp_time TIMESTAMP DEFAULT NULL