Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách tạo Sequence (dãy số) trong MySQL

Sequence trong MySQL là gì?

Trong MySQL, sequence là danh sách số nguyên tạo theo thứ tự tăng dần bắt đầu từ 1 hoặc 0 nếu chỉ định. Nhiều ứng dụng cần sequence để tạo số duy nhất đặc biệt cho định danh.

Ví dụ

Ví dụ: customer ID trong CRM, số nhân viên trong HR, số thiết bị trong hệ thống quản lý dịch vụ.

Để tạo sequence trong MySQL tự động, đặt thuộc tính AUTO_INCREMENT cho một cột. Thường là cột primary key.

Quy tắc

Các quy tắc dùng thuộc tính AUTO_INCREMENT:

  • Mỗi table chỉ một cột AUTO_INCREMENT, kiểu dữ liệu thường integer.
  • Cột AUTO_INCREMENT cần indexed (PRIMARY KEY hoặc UNIQUE index).
  • Cột AUTO_INCREMENT phải có ràng buộc NOT NULL.
  • Khi đặt AUTO_INCREMENT, MySQL tự thêm NOT NULL cho cột.

Tạo MySQL Sequence

Ví dụ tạo MySQL sequence:

CREATE TABLE tableName (
    emp_no INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50)
)

Hiểu cách cột AUTO_INCREMENT hoạt động:

  • Giá trị khởi đầu cột AUTO_INCREMENT thường là 1. Tăng 1 khi chèn NULL vào cột hoặc khi bỏ qua giá trị trong câu lệnh INSERT.
  • Để lấy số sequence cuối cùng tạo, dùng hàm LAST_INSERT_ID().
  • Sequence cuối tạo là duy nhất trên các session.
  • Nếu kết nối khác tạo số sequence, có thể lấy bằng LAST_INSERT_ID().
  • Nếu chèn hàng mới vào table và chỉ định giá trị cho cột sequence, MySQL chèn số sequence nếu số đó chưa tồn tại trong cột.