mysql5.5和5.6的一些区别

  • timestamp 
    • 5.5中 直接写timestamp不加长度   5.6 中 写的timestamp(3) 
  • datatime
  • 5.5中 直接写datetime 不加长度  5.6中 可以添加长度(3)
问题:
  • [HY000][1293] Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause
    • 5.5不能使用两个timestamp列, 5.6就可以忽略这个问题
    • 使用触发器实现这样的效果;
      CREATE TABLE `example` (
        `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
        `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
        `lastUpdated` DATETIME NOT NULL,
        PRIMARY KEY (`id`)
      ) ENGINE=InnoDB;
      DROP TRIGGER IF EXISTS `update_example_trigger`;
      DELIMITER //
      CREATE TRIGGER `update_example_trigger` BEFORE UPDATE ON `example`
       FOR EACH ROW SET NEW.`lastUpdated` = NOW()
      //
      DELIMITER ;
      
      

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值