Hướng dẫn sử dụng MySQL AUTO_INCREMENT. Ở đây chúng ta thảo luận về giới thiệu về AUTO_INCREMENT của MySQL, trình tự, cách thức hoạt động, với các ví dụ truy vấn.

Bạn đang xem : id tăng tự động mysql

MySQL AUTO_INCREMENT

Giới thiệu về MySQL AUTO_INCREMENT

Mysql cung cấp cho chúng ta một thuộc tính có tên AUTO_INCREMENT về cơ bản là một chuỗi được duy trì dựa trên cột của bảng mà thuộc tính đó được sử dụng. Thuộc tính này tỏ ra hữu ích khi chúng ta muốn tạo các giá trị định danh duy nhất cho các cột nhất định. Thuộc tính AUTO_INCREMENT chủ yếu được sử dụng cho các cột mà chúng tôi muốn coi là khóa chính. Vì cột khóa chính phải là duy nhất cho mục đích nhận dạng, thuộc tính AUTO_INCREMENT giúp chỉ định giá trị duy nhất được tạo tự động tăng dần cho cột đó.

Trong bài viết này, trước tiên chúng ta sẽ tìm hiểu về trình tự vì thuộc tính AUTO_INCREMENT duy trì một trình tự cho chính nó, sau đó chúng ta sẽ thảo luận về hoạt động của thuộc tính AUTO_INCREMENT và xem các ví dụ về tương tự. Hơn nữa, chúng tôi sẽ xem cách chúng tôi có thể đặt lại giá trị cho cột AUTO_INCREMENT.

Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn

Hadoop, Khoa học Dữ liệu, Thống kê & amp; những người khác

Thuộc tính trình tự và AUTO_INCREMENT

Chuỗi mysql là một danh sách các số nguyên. Một chuỗi tạo ra các số nguyên theo thứ tự tăng dần và chủ yếu được sử dụng để lấy các số duy nhất được sử dụng cho mục đích nhận dạng. Ví dụ: id sách trong bảng thư viện, id tác vụ để lưu trữ các tác vụ hoặc quy trình, v.v. Chúng ta có thể sử dụng thuộc tính AUTO_INCREMENT để tự động tạo một chuỗi trong MySQL cho một cột cụ thể của bảng. Cột này thường là cột mà khóa chính được xác định trên đó. Có một số điểm bạn nên biết về thuộc tính AUTO_INCREMENT được liệt kê bên dưới –

  • Chỉ có thể có một cột trong một bảng cụ thể có thể được khai báo và gán thuộc tính AUTO_INCREMENT.
  • Kiểu dữ liệu của cột mà thuộc tính AUTO_INCREMENT được chỉ định hầu hết là số nguyên.
  • Cột được gán thuộc tính AUTO_INCREMENT cần phải là cột có khóa / được lập chỉ mục. Khóa này có thể là khóa chính hoặc khóa chỉ mục duy nhất.
  • Bất cứ khi nào một cột được gán thuộc tính AUTO_INCREMENT, ràng buộc NOT NULL sẽ được gán ngầm cho cột đó vì cần thiết để cột AUTO_INCREMENT không có ràng buộc rỗng.

Cột thuộc tính AUTO_INCREMENT hoạt động như thế nào?

Giá trị của cột AUTO_INCREMENT luôn bắt đầu bằng 1 và sau đó được tăng lên 1 bất cứ khi nào một hàng mới được chèn với giá trị cột AUTO_INCREMENT là rỗng hoặc bỏ qua việc chèn cột này trong khi chèn bản ghi mới trong bảng đó. Nếu chúng ta muốn tìm nạp giá trị trình tự tối đa cuối cùng được tạo bởi trường AUTO_INCREMENT thì chúng ta có thể sử dụng hàm LAST_INSERT_ID () của phương thức.

Xem Thêm  Bảng xóa máy chủ Sql - bảng xóa máy chủ sql

Giá trị được tạo bởi chuỗi trường AUTO_INCREMENT là duy nhất cho bảng đó trong các phiên. Do đó, cùng một giá trị được hàm LAST_INSERT_ID () truy xuất trong phiên hiện tại và cả trong phiên mới nếu không có giá trị nào được chèn vào phiên trước sau khi nhận giá trị của hàm LAST_INSERT_ID () trong phiên trước.

Nếu chúng tôi cố gắng chèn bản ghi bằng cách chỉ định giá trị của cột được AUTO_INCREMENTed, sẽ có hai trường hợp có thể xảy ra. Nếu giá trị được chèn vào cột AUTO_INCREMENT không tồn tại trong bảng thì MySQL sẽ cho phép chèn và giá trị của chuỗi của cột AUTO_INCREMENT đó sẽ được đặt thành giá trị mà chúng tôi đã chèn và giá trị tiếp theo sẽ được truy xuất từ trình tự đó sẽ tương đương với giá trị được chèn hiện tại +1. Trong trường hợp giá trị đã tồn tại trong bảng cho cột AUTO_INCREMENT, một lỗi sẽ được đưa ra cho biết cột có giá trị đó của cột AUTO_INCREMENT đã tồn tại trong bảng.

Nếu chúng tôi cố gắng cập nhật giá trị của cột AUTO_INCREMENT, sẽ có hai trường hợp. Thứ nhất, nếu giá trị mà chúng tôi đang cập nhật có trong bảng thì nó sẽ gây ra lỗi báo lỗi khóa trùng lặp cho cột được chúng tôi khai báo là AUTO_INCREMENT vì nó cũng có một chỉ mục duy nhất ngầm định.

Thứ hai, nếu giá trị mà chúng tôi đang cập nhật cho cột đó không tồn tại trong bảng thì giá trị đó sẽ được cập nhật cho hàng và giá trị trình tự sẽ được đặt thành giá trị hiện tại mà chúng tôi đã cập nhật. Do đó, khi chúng tôi chèn bản ghi vào lần tiếp theo, giá trị của chuỗi mà chúng tôi nhận được sẽ là giá trị được cập nhật của chúng tôi + 1.

Bất cứ khi nào chúng tôi xóa hàng trong bảng được chèn lần cuối thì giá trị tiếp theo mà chúng tôi nhận được cho cột tự động tăng dần sẽ không giống với giá trị mà chúng tôi đã xóa. Giá trị đã xóa có được sử dụng hay không thường phụ thuộc vào công cụ lưu trữ của bảng mà chúng tôi đã tạo.

Đối với công cụ MyISAM và InnoDB, giá trị hàng đã xóa của AUTO_INCREMENT thường không được sử dụng và hàng mới được nhập với giá trị bằng id hàng đã xóa + 1. Ví dụ: nếu chúng tôi đã xóa hàng được chèn tối đa / cuối cùng với id cột 15 thì giá trị tiếp theo mà chúng ta sẽ chèn sẽ có giá trị 16 thay vì 15.

Chúng tôi có thể đặt lại giá trị của thuộc tính AUTO_INCREMENT bằng cách sử dụng lệnh ALTER cho bảng cụ thể đó bằng cú pháp bên dưới –

ALTER TABLE name_of_table AUTO_INCREMENT = numberrical_value;

Ví dụ để triển khai MySQL AUTO_INCREMENT

dưới đây là một số ví dụ được đề cập:

Ví dụ # 1

Hãy để chúng tôi tạo một bảng có tên educationba_autoincrement bằng cách sử dụng truy vấn tạo bảng sau:

Mã:

TẠO BẢNG GDba_autoincrement (
id INT NOT NULL AUTO_INCREMENT,
mô tả VARCHAR (45) DEFAULT NULL,
KHÓA CHÍNH (id)
);

Đầu ra:

Xem Thêm  Định vị CSS - Ví dụ về Vị trí Tuyệt đối và Tương đối - vị trí tuyệt đối làm gì

mysql auto_increment1

Ví dụ # 2

Hãy để chúng tôi chèn một hàng mà không đề cập đến giá trị của cột id được gán với thuộc tính AUTO_INCREMENT bằng cách sử dụng câu lệnh sau:

Mã:

CHÈN VÀO GIÁ TRỊ GDba_autoincrement (mô tả) ('mẫu 1');

Đầu ra:

mysql auto_increment2

Ví dụ # 3

Hãy để chúng tôi chọn bản ghi từ bảng educationba_autoincrement và kiểm tra giá trị của cột id đã được chèn bằng lệnh sau:

Mã:

CHỌN * TỪ educationba_autoincrement;

Đầu ra:

mysql auto_increment3

Ví dụ # 4

Bây giờ chúng ta hãy thử chèn một giá trị null vào cột id bằng cách sử dụng truy vấn sau:

Mã:

CHÈN VÀO GIÁ TRỊ GDba_autoincrement (id, description) (NULL, 'mẫu 2');

Đầu ra:

chèn giá trị null vào cột id

Ví dụ # 5

Bây giờ, hãy để chúng tôi truy xuất các bản ghi:

Mã:

CHỌN * TỪ educationba_autoincrement;

Đầu ra:

mysql auto_increment5

Ví dụ # 6

Chúng tôi có thể thấy rằng giá trị tăng tự động đã được chèn vào. Hãy để chúng tôi chèn giá trị khác với null:

Mã:

CHÈN VÀO GIÁ TRỊ GDba_autoincrement (id, description) (5, 'mẫu 2');

Đầu ra:

giá trị khác với null

Ví dụ # 7

Bây giờ, hãy để chúng tôi truy xuất các bản ghi:

Mã:

CHỌN * TỪ educationba_autoincrement;

Đầu ra:

records

Ví dụ # 8

Sau khi chèn giá trị mới và truy xuất đầu ra của bản ghi là:

Mã:

CHÈN VÀO GIÁ TRỊ GDba_autoincrement (mô tả) ('mẫu 3');

Đầu ra:

đang truy xuất

Chúng ta có thể thấy giá trị trình tự được đặt theo giá trị 5 được chèn trong truy vấn trước đó.

Kết luận

Chúng tôi có thể sử dụng thuộc tính AUTO_INCREMENT để tạo các giá trị duy nhất được tăng thêm 1 vào cột trong bảng. Lưu ý rằng một bảng chỉ có thể chứa một cột có thuộc tính AUTO_INCREMENT trong MySQL.

Các bài báo được đề xuất

Đây là hướng dẫn về MySQL AUTO_INCREMENT. Ở đây chúng ta thảo luận về phần giới thiệu về AUTO_INCREMENT của MySQL, trình tự, cách thức hoạt động, với các ví dụ truy vấn. Bạn cũng có thể xem qua các bài viết liên quan khác của chúng tôi để tìm hiểu thêm –

0

Chia sẻ

Chia sẻ


Xem thêm những thông tin liên quan đến chủ đề id tăng tự động mysql

How to Reset MySQL Autoincrement

alt

  • Tác giả: Internet Services and Social Networks Tutorials from HowTech
  • Ngày đăng: 2013-08-05
  • Đánh giá: 4 ⭐ ( 7238 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Follow this step by step guide to reset the auto-increment option from mysql. The reset helps to stream line the database as you can type in the number that was previously used.

    Don’t forget to check out our site http://howtech.tv/ for more free how-to videos!
    http://youtube.com/ithowtovids – our feed
    http://www.Facebook.com/howtechtv – join us on Facebook
    https://plus.google.com/103440382717658277879 – our group in Google+

    Introduction

    In this tutorial, we will show you how to reset the Auto increment field in MySQL.
    Mysql Auto-increment allows a unique number to be generated when a new record is inserted into a table. The function allows you to automatically add 1 to the previous record if you enter a new value.

    You can always reset Mysql auto increment so that when you delete a record your data does show an uneven picture.

    Step 1 — Selecting records

    Over here, we will be using the MySQL instance called SQL Yog.

    Just consider this table having the names of animals and the serial number, in this example the Mysql auto increment function is in operation.

    If we delete any of the record from the table, that particular ID value will not be associated with any other field. This is because the auto number field will not change its order according to the changes made in the table.

    Step 2 — Selecting the column

    To fix this problem, you can simply drop the column and make it once again.

    For that, we will write the alter table query along with the table name and specify the id column with the drop keyword.

    When we run the query and fetch all the records from the table, you will notice that the ID field has been deleted.

    Now let’s type the Alter Table query and give the table name which in our case is animals. Next, we will include the ADD keyword along with the column name which is ID in this case. Next, we will specify the data type, which would be Medium Integer in this case and after that, let’s add the Not Null and Auto increment Constraints along with the Primary key.

    With that done, let’s run the query and fetch all the records from the database.

    With that done, you will notice that all Auto increment field has been reset, and all the ID’s are now in order.

    And in this manner you can reset Mysql auto increment.

SEQUENCE – Dãy số tăng tự động – Deft Blog

  • Tác giả: shareprogramming.net
  • Đánh giá: 4 ⭐ ( 5804 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: SEQUENCE là một tập hợp các số nguyên được tạo thứ tự theo yêu cầu. Các SEQUENCE thường được sử dụng trong cơ sở dữ liệu vì đáp ứng yêu cầu

Thiết lập ID tăng tự động với Identity trong SQL Server

  • Tác giả: vi-magento.com
  • Đánh giá: 4 ⭐ ( 2351 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Cách lấy id tăng tự động tiếp theo trong mysql

  • Tác giả: qastack.vn
  • Đánh giá: 5 ⭐ ( 6494 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Sử dụng LAST_INSERT_ID()từ truy vấn SQL của bạn. Hoặc là Bạn cũng có thể sử dụng…

[MySQL 18] AUTO_INCREMENT giá trị tự động tăng

  • Tác giả: www.codelean.vn
  • Đánh giá: 4 ⭐ ( 5267 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: CodeLean.vn là nơi chia sẻ kiến thức của những người học, làm và dạy trong lĩnh vực công nghệ thông tin.

[Tự học SQL] Tìm hiểu về cách tự động tăng giá trị trong bảng

  • Tác giả: cafedev.vn
  • Đánh giá: 4 ⭐ ( 5643 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Chúng ta sẽ tìm hiểu làm cách nào để tự động tăng giá trị của một or nhiều cột trong một bảng với SQL.

Thiết lập ID tăng tự động với Identity trong SQL Server

  • Tác giả: mylop.edu.vn
  • Đánh giá: 3 ⭐ ( 9567 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: ID tăng tự động là một nhu cầu rất quan trọng trong việc lưu trữ dữ liệu, hầu như tất cả các khóa chính trong các dự án thực tế đều tạo bằng cách cho nó tăng

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  TutorialsforGeeks - java multithreading geeks cho geeks

By ads_php