我想在管理员插入新用户时更新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
任何人都可以帮助我吗?