vanseparis 2015-09-19 08:11 采纳率: 0%
浏览 2239

mysql创建触发器报错,请高手帮忙看下

DROP TABLE if EXISTS tb;
CREATE TABLE tb(BH CHAR(16),content VARCHAR(20),date DATETIME,val INT);

CREATE TRIGGER tri_NewBH BEFORE INSERT ON tb
FOR EACH ROW
BEGIN
DECLARE dt CHAR(8)
DECLARE bh_id CHAR(16)
DECLARE number INT(1)
DECLARE new_bh VARCHAR(16)

     SET dt = DATE_FORMAT(CURDATE(),'%Y%m%d')

     SELECT
         MAX(BH) INTO bh_id
     FROM tb
     WHERE BH LIKE CONCAT(dt,'%')

     IF bh_id = '' OR bh_id IS NULL THEN
         SET new_bh = CONCAT(dt,'00000001')
     ELSE
        SET number = RIGHT(bh_id,8) + 1
        SET new_bh =  RIGHT(CONCAT('00000000',number),8)
        SET new_bh=CONCAT(dt,new_bh)
     END IF

     SET NEW.BH = new_bh
 END
  • 写回答

1条回答

  • Evankaka 博客专家认证 2015-09-19 12:38
    关注

    报错信息也放出来看看??

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据