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 ;
       

你可能感兴趣的:(Mysql)