字段属性 (On Update属性)
业务需求:需要记录一个业务数据的创建时间、更新时间
传统的方法是代码维护:创建的时候set create_time,修改的时候维护 update_time
但是mysql On Update的字段属性,可以完全由数据库去维护一个数据的创建时间和更新时间。
CREATE TABLE `test` (
`id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'Profile ID',
`add_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
于是代码里面你都不需要有这两个字段,数据库维护了,而且没有数据变化的时候,即使调用update数据,update time也不会更新,真棒!
zeroDateTimeBehavior=convertToNull
把空的时间直接转换为null,避免了空的插入会生成系统时间
localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
条件删除
delete user_detail from user_detail , user b where user_detail.user_id=b.id;
网友评论