mysql5.7計算列的一些使用實例

CREATE TABLE `fa_parent_goods`  (
  `id` mediumint(11) NOT NULL AUTO_INCREMENT COMMENT '商品id',
  `goods_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品名稱',
  `images` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '產品圖片',
  `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '詳情',
  `qun_id` int(10) NULL DEFAULT NULL COMMENT '社羣id',
  `time_json` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '預定時間設置',
  `create_time` int(10) NULL DEFAULT NULL,
  `is_pg` tinyint(1) NULL DEFAULT 0 COMMENT '是否拼購',
  `audit` tinyint(1) NULL DEFAULT 0 COMMENT '審覈 0待審覈1通過 2駁回',
  `update_time` int(10) NULL DEFAULT NULL,
  `sales` smallint(5) NULL DEFAULT 0 COMMENT '銷量',
  `min_tgprice` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '最小團購價',
  `min_pgprice` decimal(10, 2) NULL DEFAULT 0.00 COMMENT '最小拼購價',
  `min_price` decimal(10, 2) GENERATED ALWAYS AS (least(`min_tgprice`,`min_pgprice`)) VIRTUAL NULL
  `validate_switch` tinyint(4) NULL DEFAULT NULL COMMENT '是否設置有效時間',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '商品表' ROW_FORMAT = Compact;

SET FOREIGN_KEY_CHECKS = 1;


ALTER TABLE `yz`.`fa_parent_goods_copy1` 
ADD COLUMN `min_price` decimal(10, 2) GENERATED ALWAYS AS (least(`min_tgprice`,`min_pgprice`)) VIRTUAL NULL


CREATE TABLE log_sync_plan_data(
    planLogId BIGINT PRIMARY KEY NOT NULL auto_increment,
    syncType int NOT NULL DEFAULT 0,
    tablesCnt int NOT NULL,
    finishedCnt int NOT NULL DEFAULT 0,
    beginTime datetime NOT NULL DEFAULT NOW(),
    endTime datetime NOT NULL DEFAULT '1900-01-01',
    elapsedSeconds INT generated always AS (case when endTime<beginTime then -1 ELSE timestampdiff(SECOND,endTime,beginTime) END) VIRTUAL,
    errMsg varchar(4000) NULL,
    success INT generated always AS( case when endTime<beginTime OR ifnull(errMsg,'')<>'' OR tablesCnt<>finishedCnt then 0 else 1 end) VIRTUAL
);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章