管理者が新しいユーザーを挿入したときに、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
誰でも私を助けることができますか?