MySql的CURRENT_TIMESTAMP

在创建时间字段的时候

DEFAULT CURRENT_TIMESTAMP
表示当插入数据的时候,该字段默认值为当前时间

ON UPDATE CURRENT_TIMESTAMP
表示每次更新这条数据的时候,该字段都会更新成当前时间

这两个操作是mysql数据库本身在维护,所以可以根据这个特性来生成【创建时间】和【更新时间】两个字段,且不需要代码来维护

 <insert id="insert" keyProperty="id" useGeneratedKeys="true" parameterType="com.yankuang.equipment.equipment.model.SmStock">
    insert into sm_stock (organization_id,ware_id,equipment_id,create_by,create_at, update_by, update_at,version)
    values ( #{organizationId,jdbcType=INTEGER},#{wareId,jdbcType=INTEGER},#{equipmentId,jdbcType=INTEGER},#{createBy,jdbcType=VARCHAR},
      CURRENT_TIMESTAMP(), #{updateBy,jdbcType=VARCHAR}, CURRENT_TIMESTAMP(),#{version,jdbcType=VARCHAR}
      )
  </insert>
 <update id="update" parameterType="com.yankuang.equipment.equipment.model.SmCheckVouch">
        update sm_checkvouch
        set organization_id = #{organizationId,jdbcType=VARCHAR},
        ware_id = #{wareId,jdbcType=VARCHAR},
        update_at = CURRENT_TIMESTAMP()
        where checkvouch_id = #{checkVouchId}
    </update>

可以通过navicat的可视化界面直接操作

MySql的CURRENT_TIMESTAMP

上一篇:Oracle 和 mysql 的批量操作Sql语句 的区别


下一篇:SQL 优化法则,就是这么简单