1. 程式人生 > >mysql5.5和5.6的一些區別

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 ;