技術的には、シーケンス用の別のテーブルとBEFOREトリガーを使用して MySQL でこれを実現できますが、
テーブル スキーマ:
CREATE TABLE articles_seq 
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE articles
(
  `id` INT NOT NULL PRIMARY KEY DEFAULT 0, 
  `intro` VARCHAR(128), 
  `detail` VARCHAR(128), 
  `image` VARCHAR(128)
);
引き金:
DELIMITER $$
CREATE TRIGGER tg_bi_articles
BEFORE INSERT ON articles
FOR EACH ROW
BEGIN
  INSERT INTO articles_seq () VALUES ();
  SET NEW.id = LAST_INSERT_ID(), 
      NEW.image = CONCAT(NEW.id, '.jpg');
END$$
DELIMITER ;
このようにレコードを挿入できるようになりました
INSERT INTO articles (`intro`, `detail`, `image`) VALUES 
('Intro text 1', 'Details text 1', '.jpg'),
('Intro text 2', 'Details text 2', '.png');
結果:
| | ID | はじめに | 詳細 | 画像 |
|----|--------------|----------------|-------|
| | 1 | 紹介文 1 | 詳細テキスト 1 | 1.jpg |
| | 2 | 導入文 2 | 詳細テキスト 2 | 2.jpg |
これがSQLFiddleのデモです
あなたはそれなしで良いです。代わりにビューを使用できます
CREATE TABLE articles
(
  `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
  `intro` VARCHAR(128), 
  `detail` VARCHAR(128), 
  `ext` VARCHAR(32)
);
CREATE VIEW vw_articles AS
SELECT id, intro, detail, CONCAT(id, '.', ext) image
  FROM articles;
これがSQLFiddleのデモです