必要なのはトリガーともう1つのテーブルです。以下でこのトリガーを試してください;
DELIMITER $$
CREATE TRIGGER tg_tableName_insert
BEFORE INSERT ON tableName
FOR EACH ROW
BEGIN
INSERT INTO tableName_seq VALUES (NULL);
SET NEW.id = CONCAT('IDC', LPAD(LAST_INSERT_ID(), 8, '0'));
END$$
DELIMITER ;
シーケンステーブルを作成することを忘れないでください;
CREATE TABLE tableName_seq
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE tableName
(
id VARCHAR(11) NOT NULL PRIMARY KEY DEFAULT '0'
);
tableNameテーブルにデータを挿入すると、最初のIDはIDC00000001になり、2番目のIDC00000002はそのようになります。お役に立てば幸いです!