以下のように、テーブル名agent_mstにMySQL Trigger BEFORE INSERTを作成しました
BEGIN
DECLARE max_id INT;
SET max_id=(SELECT MAX(agent_id_pk)+1 FROM `agent_mst`);
IF (max_id IS NULL) THEN
SET max_id=1;
END IF;
SET NEW.date_added=NOW(),
NEW.date_updated=NOW(),
NEW.agent_code = CONCAT('SDA', LPAD(max_id, 4,'0'));
END
つまり、レコードを挿入するたびに、agent_code フィールド値をSDA0001、SDA0002、SDA0003 などに生成します。
ここで、コードSDA0003のレコードを削除して新しいレコードを挿入すると、間違いなくエージェント コードがSDA0004として生成されます。max_idを取得して 1 ずつ増やしているため、ここではSDA0003を再度取得したいと考えています。すべてのagent_codesが順番にとどまることができるように。どうやってするか?
前もって感謝します。