Hướng dẫn auto_increment mysql - auto_increment mysql
Đáng lẽ ra bài này tôi trình bày ở bài tạo khóa chính Primary Key nhưng thiết nghĩ để các bạn dễ tìm kiếm thì tôi sẽ chia nhỏ nó ra làm một bài riêng để trình bày cho chi tiết hơn. Show Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.freetuts.net, không được copy dưới mọi hình thức. 1. AUTO_INCREMENT là gì?
Đấy là những đặc điểm của 2. Tạo AUTO_INCREMENTĐể tạo ALTER TABLE Users AUTO_INCREMENT = 10005.a thêm từ khóa AUTO_INCREMENT đằng sau field muốn tạo trong lệnh tạo bảng (Create Table). Thông thường chúng ta dùng cho khóa chính nên trong các ví dụ dưới đây tôi
sử dụng cho field ALTER TABLE Users AUTO_INCREMENT = 10005. Bài viết này được đăng tại [free tuts .net] CREATE TABLE Users( id INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL UNIQUE, email VARCHAR (50) NOT NULL UNIQUE ) 3. Thay đổi giá trị AUTO_INCREMENTNhư bạn biết mặc định ALTER TABLE Users AUTO_INCREMENT = 10007 để thay đổi. ALTER TABLE Users AUTO_INCREMENT = 1000 Sau khi chạy lệnh này thì khi bạn thêm dữ liệu nó sẽ lấy 1000 thay vì 1 như cấu hình mặc định ban đầu.1000 thay vì 1 như cấu hình mặc định ban đầu. Lưu ý: Nếu số bạn chọn nhỏ hơn số max của auto thì sẽ không có tác dụng. Ví dụ field ID hiện tại max là 1000 nhưng bạn thay đổi thông số auto 400 thì sẽ không có tác dụng.: Nếu số bạn chọn nhỏ hơn số max của auto thì sẽ không có tác dụng. Ví dụ field ID hiện tại max là 1000 nhưng bạn thay đổi thông số auto 400 thì sẽ không có tác dụng. 4. Lời kếtKhi phân tích dữ liệu bạn nên chọn khóa chính là auto increment, thứ nhất là nó truy vấn nhanh và thứ hai là khi thêm dữ liệu bạn không cần phải truyền giá trị cho khóa chính vì nó đã tăng tự động. Bài này kết thúc tại đây, bài tiếp theo mình sẽ nói về khóa ngoại (foreign key).
Tự động tăng là gì?Tự động tăng là một chức năng hoạt động trên các loại dữ liệu số. Nó tự động tạo các giá trị số liên tiếp mỗi khi dữ liệu được chèn vào bảng cho trường được xác định là tăng tự động. Khi sử dụng tự động tăng?Trong chuẩn hóa cơ sở dữ liệu, chúng ta đã xem xét cách dữ liệu có thể được lưu trữ với mức tối thiểu, bằng cách lưu trữ dữ liệu vào nhiều bảng nhỏ, liên quan với nhau bằng khóa chính và khóa ngoài. Khóa chính phải là duy nhất vì nó xác định duy nhất trong cơ sở dữ liệu. Nhưng, làm thế nào chúng ta có thể đảm bảo rằng khóa chính luôn luôn là duy nhất? Một trong những giải pháp khả thi là sử dụng công thức để tạo khóa chính, kiểm tra sự tồn tại của khóa trong bảng dữ liệu trước khi thêm dữ liệu. Điều này có thể hoạt động tốt nhưng cách làm rất phức tạp . Để tránh sự phức tạp như vậy và để đảm bảo rằng khóa chính luôn duy nhất, chúng ta có thể sử dụng tính năng tăng tự động của MySQL để tạo các khóa chính. Tự động tăng được sử dụng với kiểu dữ liệu INT. Kiểu dữ liệu INT hỗ trợ cả giá trị có dấu và không dấu. Các kiểu dữ liệu không dấu chỉ có thể chứa các số dương. Tốt nhất, nên xác định dữ liệu không dấu trên khóa chính tăng tự động. Cú pháp tăng tự độngBây giờ, chúng ta hãy xem ví dụ sau. CREATE TABLE `categories` ( `category_id` int (11) AUTO_INCREMENT, `category_name` varchar (150) DEFAULT NULL, `remarks` varchar(500) DEFAULT NULL, PRIMARY KEY (`category_id`) ); Lưu ý “AUTO_INCREMENT” trên trường category_id. Điều này khiến id danh mục được tạo tự động mỗi khi một hàng mới được chèn vào bảng dữ liệu. Theo mặc định, giá trị bắt đầu cho AUTO_INCREMENT là 1 và giá trị này sẽ tăng thêm 1 cho mỗi lần thêm mới Hãy xem nội dung hiện tại của bảng danh mục. SELECT * FROM `categories`; Việc thực thi đoạn script trên MySQL đối với myflixdb cho chúng ta các kết quả sau.
Thriller INSERT INTO `categories` (`category_name`) VALUES ('Cartoons'); Action
Thriller Action SELECT LAST_INSERT_ID(); Romantic Comedy Bây giờ chúng ta hãy chèn một danh mục mới vào bảng danh mục.
|