码迷,mamicode.com
首页 > 数据库 > 详细

MySQL触发器的使用

时间:2015-02-10 18:57:41      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:mysql   触发器   流水号   

原始需求:

编号字段:L+年月日+十位流水号,例如:L201502090000000001   
第二天的数据十位流水号又是从1开始

测试数据表以及触发器的建立如下:

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for gztest
-- ----------------------------
DROP TABLE IF EXISTS `gztest`;
CREATE TABLE `gztest` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `code` bigint(20) DEFAULT NULL,
  `content` char(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
DROP TRIGGER IF EXISTS `getcode`;
DELIMITER ;;
CREATE TRIGGER `getcode` BEFORE INSERT ON `gztest` FOR EACH ROW BEGIN
declare newcode BIGINT;
SET newcode=(SELECT `code` FROM gztest WHERE `code` LIKE CONCAT(DATE_FORMAT(curdate(),‘%Y%m%d‘),‘%‘) ORDER BY `code` DESC LIMIT 1);
IF newcode THEN
    SET NEW.code=newcode+1;
ELSE
  SET NEW.code=CONCAT(DATE_FORMAT(curdate(),‘%Y%m%d‘),‘0000000001‘);
END IF;
END
;;
DELIMITER ;


本文出自 “随网互联” 博客,请务必保留此出处http://suiwnet.blog.51cto.com/2492370/1613398

MySQL触发器的使用

标签:mysql   触发器   流水号   

原文地址:http://suiwnet.blog.51cto.com/2492370/1613398

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!