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

Cách nhận ID chữ-số tiếp theo dựa trên giá trị hiện có từ MySQL

Nếu bạn đang sử dụng MyISAM, thì bạn có thể tạo khóa chính ghép trên trường văn bản + trường tăng tự động. MySQL sẽ tự động xử lý việc tăng số lượng. Chúng là các trường riêng biệt, nhưng bạn có thể nhận được cùng một hiệu ứng.

CREATE TABLE example (
company_name varchar(100),
key_prefix char(4) not null,
key_increment int unsigned auto_increment,
primary key co_key (key_prefix,key_increment)
) ENGINE=MYISAM;

Khi bạn thực hiện chèn vào bảng, key_increment trường sẽ tăng lên dựa trên giá trị cao nhất dựa trên key_prefix . Vì vậy, hãy chèn bằng key_prefix "smit" sẽ bắt đầu bằng 1 trong key_inrement , key_prefix "jone" sẽ bắt đầu bằng 1 trong key_inrement , v.v.

Ưu điểm:

  • Bạn không cần phải làm bất cứ điều gì với việc tính toán các con số.

Nhược điểm:

  • Bạn có một khóa được chia thành 2 cột.
  • Nó không hoạt động với InnoDB.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lập chỉ mục một cột MySql TEXT?

  2. Không thể truy xuất giá trị tôi muốn Chọn bằng Quy trình đã Lưu trữ

  3. Chọn từ tất cả các bảng

  4. Chèn MySQL ở nơi không tồn tại / nếu không tồn tại

  5. Ngăn chặn SQL Injection trong JavaScript / Node.js