Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara membuat kenaikan otomatis kunci utama tabel MySQL dengan beberapa awalan

Jika Anda benar-benar membutuhkan ini, Anda dapat mencapai tujuan Anda dengan bantuan tabel terpisah untuk pengurutan (jika Anda tidak keberatan) dan pemicu.

Tabel

CREATE TABLE table1_seq
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE table1
(
  id VARCHAR(7) NOT NULL PRIMARY KEY DEFAULT '0', name VARCHAR(30)
);

Sekarang pemicunya

DELIMITER $$
CREATE TRIGGER tg_table1_insert
BEFORE INSERT ON table1
FOR EACH ROW
BEGIN
  INSERT INTO table1_seq VALUES (NULL);
  SET NEW.id = CONCAT('LHPL', LPAD(LAST_INSERT_ID(), 3, '0'));
END$$
DELIMITER ;

Kemudian Anda tinggal menyisipkan baris ke table1

INSERT INTO Table1 (name) 
VALUES ('Jhon'), ('Mark');

Dan Anda akan mendapatkan

|      ID | NAME |
------------------
| LHPL001 | Jhon |
| LHPL002 | Mark |

Ini SQLFiddle demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menggunakan Peran yang Telah Berubah di MySQL 8.0

  2. JSON_CONTAINS_PATH() Contoh di MySQL

  3. Pernyataan PDO saya tidak berfungsi

  4. Bagaimana cara memasukkan nilai dalam tabel dengan kunci asing menggunakan MySQL?

  5. Deteksi jika nilainya adalah angka di MySQL