问题说明
问题代码关键部分如下,top_end_date无法更新为空值。
global.GVA_DB.Raw(fmt.Sprintf("update %v set top_end_date= NULL WHERE id = %v", new(autocode.Message).TableName(), id))
解决方案
将Raw方法改为Exec 字段更新成功
global.GVA_DB.Exec(fmt.Sprintf("update %v set top_end_date= NULL WHERE id = %v", new(autocode.Message).TableName(), id))
这里不太明白哪里出了问题,两个方法唯一的区别是Raw
执行后是携带返回值的,而Exec
不管成功还是失败,都不会返回数据。
等后面有时间了,把问题原因再补一下。