Làm cách nào để bắt đầu tăng tự động từ 100 trong MySQL?

Tự động tăng cho phép một số duy nhất được tạo tự động khi một bản ghi mới được chèn vào bảng

Thường thì đây là trường khóa chính mà chúng tôi muốn được tạo tự động mỗi khi một bản ghi mới được chèn vào


Từ khóa AUTO_INCREMENT của MySQL

MySQL sử dụng từ khóa AUTO_INCREMENT để thực hiện tính năng tự động tăng

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 bản ghi mới

Câu lệnh SQL sau đây xác định cột "Personid" là trường khóa chính tăng tự động trong bảng "Persons"

TẠO BẢNG Người (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

Để chuỗi AUTO_INCREMENT bắt đầu với một giá trị khác, hãy sử dụng câu lệnh SQL sau

THAY ĐỔI BẢNG Người AUTO_INCREMENT=100;

Khi chúng tôi chèn một bản ghi mới vào bảng "Người", chúng tôi KHÔNG phải chỉ định giá trị cho cột "Người" (một giá trị duy nhất sẽ được thêm tự động)

CHÈN VÀO Người (Tên,Họ)
GIÁ TRỊ ('Lars','Monsen');

Câu lệnh SQL trên sẽ chèn một bản ghi mới vào bảng "Persons". Cột "Personid" sẽ tự động được gán một giá trị duy nhất. Cột "FirstName" sẽ được đặt thành "Lars" và cột "LastName" sẽ được đặt thành "Monsen"

Tự động tăng cho phép một số duy nhất được tạo tự động khi một bản ghi mới được chèn vào bảng

Thường thì đây là trường khóa chính mà chúng tôi muốn được tạo tự động mỗi khi một bản ghi mới được chèn vào


Cú pháp cho MySQL

Câu lệnh SQL sau đây xác định cột "Personid" là trường khóa chính tăng tự động trong bảng "Persons"

TẠO BẢNG Người (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

MySQL sử dụng từ khóa AUTO_INCREMENT để thực hiện tính năng tự động tăng

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 bản ghi mới

Để chuỗi AUTO_INCREMENT bắt đầu với một giá trị khác, hãy sử dụng câu lệnh SQL sau

THAY ĐỔI BẢNG Người AUTO_INCREMENT=100;

Để chèn một bản ghi mới vào bảng "Persons", chúng ta KHÔNG phải chỉ định giá trị cho cột "Personid" (một giá trị duy nhất sẽ được thêm tự động)

CHÈN VÀO Người (Tên,Họ)
GIÁ TRỊ ('Lars','Monsen');

Câu lệnh SQL trên sẽ chèn một bản ghi mới vào bảng "Persons". Cột "Personid" sẽ được gán số tiếp theo từ chuỗi seq_person. Cột "FirstName" sẽ được đặt thành "Lars" và cột "LastName" sẽ được đặt thành "Monsen"

Auto Increment 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ố tuần tự mỗi khi một bản ghi được chèn vào bảng cho một trường được xác định là tăng tự động

Khi sử dụng tăng tự động?

Trong bài học về chuẩn hóa cơ sở dữ liệu, chúng ta đã xem xét cách lưu trữ dữ liệu với độ dư thừa tối thiểu, bằng cách lưu trữ dữ liệu vào nhiều bảng nhỏ, liên quan đến nhau bằng khóa chính và khóa ngoại

Làm cách nào để bắt đầu tăng tự động từ 100 trong MySQL?

Khóa chính phải là duy nhất vì nó xác định duy nhất một hàng 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 là duy nhất? . Điều này có thể hoạt động tốt nhưng như bạn có thể thấy cách tiếp cận phức tạp và không dễ dàng. Để tránh sự phức tạp đó và để đảm bảo rằng khóa chính luôn là duy nhất, chúng ta có thể sử dụng tính năng Tự động gia tăng của MySQL để tạo 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. Kiểu dữ liệu không dấu chỉ có thể chứa số dương. Cách tốt nhất là nên xác định ràng buộc không dấu trên khóa chính tăng tự động

Cú pháp tăng tự động

Bây giờ chúng ta hãy xem tập lệnh được sử dụng để tạo bảng danh mục phim

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. Nó không được cung cấp khi chèn dữ liệu vào bảng, MySQL tạo ra nó

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 bản ghi mới

Hãy kiểm tra nội dung hiện tại của bảng danh mục

SELECT * FROM `categories`;

Thực thi đoạn mã trên trong bàn làm việc của MySQL đối với myflixdb mang lại cho chúng tôi các kết quả sau














category_id






category_name






remarks
















1






Comedy






Movies with humour
















2






Romantic






Love stories
















3






Epic






Story acient movies
















4






Horror






NULL
















5






Science Fiction






NULL
















6






Thriller






NULL
















7






Action






NULL
















8






Romantic Comedy






NULL













Bây giờ hãy chèn một danh mục mới vào bảng danh mục

INSERT INTO  `categories` (`category_name`) VALUES ('Cartoons');

Việc thực thi đoạn script trên đối với myflixdb trong MySQL workbench cho chúng ta kết quả như bên dưới














category_id






category_name






remarks
















1






Comedy






Movies with humour
















2






Romantic






Love stories
















3






Epic






Story acient movies
















4






Horror






NULL
















5






Science Fiction






NULL
















6






Thriller






NULL
















7






Action






NULL
















8






Romantic Comedy






NULL
















9






Cartoons






NULL













Lưu ý rằng chúng tôi không cung cấp id danh mục. MySQL đã tự động tạo nó cho chúng tôi vì id danh mục được xác định là tăng tự động

Nếu bạn muốn lấy id chèn cuối cùng được tạo bởi MySQL, bạn có thể sử dụng hàm LAST_INSERT_ID để làm điều đó. Tập lệnh hiển thị bên dưới lấy id cuối cùng được tạo

SELECT LAST_INSERT_ID();

Việc thực thi tập lệnh trên sẽ cung cấp số gia tăng Tự động cuối cùng được tạo bởi truy vấn INSERT. Các kết quả được hiển thị dưới đây

Làm cách nào để đặt giá trị gia tăng tự động trong MySQL?

Nếu bạn không muốn viết sql, bạn cũng có thể làm điều đó trong MySQL Workbench bằng cách nhấp chuột phải vào bảng, chọn "Alter Table. " trong thực đơn. Khi chế độ xem cấu trúc bảng mở ra, hãy chuyển đến tab "Tùy chọn" (ở dưới cùng của chế độ xem) và đặt trường "Tăng tự động" thành giá trị của số tự động tăng tiếp theo

Làm cách nào để bắt đầu tăng tự động từ 1000 trong SQL Server?

Bạn cũng có thể tăng tự động trong SQL để bắt đầu từ một giá trị khác bằng cú pháp sau. ALTER TABLE table_name AUTO_INCREMENT = start_value; Theo cú pháp trên. start_value. Đó là giá trị từ nơi bạn muốn bắt đầu đánh số.

Làm cách nào để đặt giá trị gia tăng tự động trong SQL?

TẠO BẢNG sách ( id INT NOT NULL IDENTITY PRIMARY KEY, title VARCHAR(100) NOT NULL, Primary_author VARCHAR(100), ); . Bây giờ, cột id của bảng sách của chúng ta sẽ được tự động tăng lên sau mỗi CHÈN và trường id cũng được đảm bảo là một giá trị duy nhất

SQL có tự động tăng bắt đầu từ 0 không?

AUTO_INCREMENT các cột bắt đầu từ 1 theo mặc định. Giá trị được tạo tự động không bao giờ được thấp hơn 0 . Mỗi bảng chỉ có thể có một cột AUTO_INCREMENT. Nó phải được định nghĩa là một khóa (không nhất thiết phải là khóa CHÍNH hoặc khóa DUY NHẤT).