如何实现MyBatis仅更新SQL语句中指定的字段
2016-12-25
展开全部
作者:赤虎
链接:https://www.zhihu.com/question/22800035/answer/22685248
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
解决办法:
// 数据表
CREATE TABLE qai_entity (
id CHAR(10) NOT NULL,
value INT NOT NULL DEFAULT 0,
create_time TIMESTAMP NOT NULL,
PRIMARY KEY (id)
)
将以上建表脚本改成下面这样即可。
// 数据表
CREATE TABLE qai_entity (
id CHAR(10) NOT NULL,
value INT NOT NULL DEFAULT 0,
cre_tim TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
)
其原因是:
当我们在脚本中写成:cre_tim TIMESTAMP NOT NULL 时
MySql 默认添加:DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
但当我们写成:cre_tim TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 时
MySql 则不会帮我们添加:ON UPDATE CURRENT_TIMESTAMP 这一句了
链接:https://www.zhihu.com/question/22800035/answer/22685248
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
解决办法:
// 数据表
CREATE TABLE qai_entity (
id CHAR(10) NOT NULL,
value INT NOT NULL DEFAULT 0,
create_time TIMESTAMP NOT NULL,
PRIMARY KEY (id)
)
将以上建表脚本改成下面这样即可。
// 数据表
CREATE TABLE qai_entity (
id CHAR(10) NOT NULL,
value INT NOT NULL DEFAULT 0,
cre_tim TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
)
其原因是:
当我们在脚本中写成:cre_tim TIMESTAMP NOT NULL 时
MySql 默认添加:DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
但当我们写成:cre_tim TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP 时
MySql 则不会帮我们添加:ON UPDATE CURRENT_TIMESTAMP 这一句了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询