2017-12-03 7 views
0

テーブルec3_checkingに値を挿入する前にトリガを設定しようとすると、id_countの最大値が(n-1)の場合、トリガの機能は 'account_id'から 'CH-n' id_countはauto_incrementパラメータです。Mysqlがトリガして値を挿入する

delimiter // 
CREATE TRIGGER account_id_add BEFORE INSERT ON `ec3_checking` 
FOR EACH ROW 
BEGIN 
     DECLARE anum int; 
     DECLARE bnum int; 
     SET bnum = max(id_account); 
     SET anum = bnum + 1; 
     SET NEW.account_id = concat('CH-', anum); 
END// 

それから私は、エラーがあり

insert into `ec3_checking` (balance, overdraft_limit) 
VALUES 
('300','50'); 

テーブルにいくつかの値を挿入しよう:1111、グループ機能の使用は無効ですが、誰も私を助けることができますか? ありがとうございます。

答えて

0
CREATE TRIGGER `account_id_add` BEFORE INSERT ON `ec3_checking` 
FOR EACH ROW BEGIN 
    DECLARE anum int; 

    SET @bnum = (SELECT max(id_account) FROM ec3_checking); 

    SET anum = @bnum + 1; 
    SET NEW.account_name = concat('CH-', anum); 
END 
+1

実際に動作します。どうもありがとうございました。ありがとう@XueweiFan。 –

+0

upvoteと正しい答えとしてフラグを立てることを忘れないでください。私はそれをお願い申し上げます :) – Nicolas

関連する問題