0

管理者が新しいユーザーを挿入したときに、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

誰でも私を助けることができますか?

4

0 に答える 0