2016-07-22 10 views
-1

をEMPID作成し、私は、次の列を持っている従業員テーブルを作成しました:自動的に以下の特定のパターン

id || empId || name || companyCode 
== ====== ==== ========= 

私はEMPLIDを自動的に作成することにしたいです。

オプション1: すべての従業員は一意のIDを取得する必要があります。
EmpIdはcompanyCodeで始まる必要があります。

と仮定会社コードは、「CI」、その従業員IDであるべきci101、ci102のようにCIから始まる....

は、など、いくつかのシーケンスを作成するようにそれを行うための方法はありますか?
注:私はmySqlを使用しています。
期待出力:

id || empId || name || companyCode 
    == ====== ==== ========= 
    1  ci101  abc  ci 
    2  xi101  xyz  xi 
    3  ci102  lkj  ci 

オプション2:以下に示すようにX、YまたはZの会社の最初の従業員は101で始まる必要と同様に、すべての会社の従業員の Idは100で始まる必要があり:

id || empId || name || companyCode 
    == ====== ==== ========= 
    1  101  abc  ci 
    2  101  xyz  xi 
    3  102  lkj  ci 

助けてください。

答えて

0

あなたは、これは任意のIDがいずれかを運ぶべきではありませんので、私は、あなたがお勧めのオプションを好きではない

CREATE TRIGGER empid 
AFTER INSERT ON 'employeeTbl' for each row 
begin 
    UPDATE `employeeTbl` SET `empId ` = CONCAT(NEW.companyCode, NEW.id) where id=New.id; 
END; 
0

を役に立てば幸い、会社コードとIDに基づいて、挿入された行のEMPIDを更新トリガーを持つことができます意味。通常のフォームによれば、IDが従業員IDであるか、従業員が会社によって雇用されているという事実は、IDの価値からではなく、データベースから確かめられるべきである。

insert into employees 
select 1 + max(id) as new_id, ... values ... 
from employees 

あなたの従業員IDを生成する最も簡単な方法は、最高のものに1を加えることです

関連する問題