使用触发器插入后更新注册号

时间:2014-03-03 09:06:25

标签: mysql sql triggers insertafter

我想在管理员插入新用户时更新user_registration_number。在这个user_number中,我必须使用特定的格式。我必须使用一个创建的年份,并在5000开始后,每年从5000开始

例如,如果管理员在2014年插入第一个用户,则应用程序插入“145001”,下一个数字为“145002”。如果管理员在2015年插入用户,则为“155001”。我使用下一个触发器,但它不起作用。

CREATE TRIGGER `registration_number` AFTER INSERT ON `app_user`
 FOR EACH ROW BEGIN
    DECLARE uno VARCHAR(100);
    DECLARE dos VARCHAR(100);
    DECLARE tres VARCHAR(100);
    DECLARE cuatro VARCHAR(100);

    SET uno = (SELECT CONCAT(SUBSTRING(YEAR(CURDATE()),3), '5'));

    SET dos = (SELECT  COUNT(id)
                FROM `app_user`
                WHERE DATE_FORMAT(created, '%Y')=YEAR(CURDATE()));

    SET tres = (SELECT lpad(dos,3,'0'));


    SET @registration_number = (SELECT CONCAT(uno,tres));

END

任何人都可以帮助我吗?

0 个答案:

没有答案