Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để đặt văn bản trước trường tăng tự động trong mysql (như:TTT00001)?

Những gì bạn cần là kích hoạt và một bảng nữa. Hãy thử trình kích hoạt này bên dưới;

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 ;

Đừng quên tạo bảng trình tự;

CREATE TABLE tableName_seq
(
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);
CREATE TABLE tableName
(
  id VARCHAR(11) NOT NULL PRIMARY KEY DEFAULT '0'
);

Khi bạn chèn dữ liệu vào bảng tableName, id đầu tiên của bạn sẽ là IDC00000001 và IDC00000002 thứ hai giống như vậy. Tôi hy vọng nó sẽ hữu ích!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bế tắc khi sử dụng CHỌN ... CHO CẬP NHẬT trong MySQL

  2. Bạn có thể sử dụng truy vấn MySQL để tạo hoàn toàn bản sao của cơ sở dữ liệu không

  3. LazyInitializationException cố gắng lấy phiên bản khởi tạo lười biếng

  4. $ stmt-> close () so với $ stmt-> free_result ()

  5. Các móc không kích hoạt khi chèn các truy vấn thô qua phần tiếp theo.query ()