Mysql đặt tăng tự động thành 1

Chúng ta sẽ bắt đầu bằng cách tạo một bảng, chèn một số dữ liệu vào đó, sau đó chọn * để xem dữ liệu đã chèn

# create table 
CREATE TABLE sales_data (
    sale_person_id INT AUTO_INCREMENT,
    sale_person_name VARCHAR(255),
    commission_percentage INT,
    no_products_sold INT,
    PRIMARY KEY(sale_person_id)
);
# insert data
 INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
 VALUES("Aditi",10,200);
 INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
 VALUES("Furan",5,300); 
 INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
 VALUES("Veronica",10,250);
 INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
 VALUES("Atharv",25,150); 
# select *
SELECT * FROM sales_data;

đầu ra. -

Mysql đặt tăng tự động thành 1
Hình 1. 1

Cách đặt lại AUTO_INCREMENT trong MySQL

Chúng ta sẽ xem xét cú pháp theo sau là một ví dụ

quảng cáo

cú pháp. -

ALTER TABLE  AUTO_INCREMENT =  ;

Where   is the name of the table you want to reset the auto increment for a column. is the value you want to reset for the sequence.

Chúng ta hãy xem ví dụ. Chúng tôi sẽ đặt lại giá trị auto_increment cho bảng sales_data đã tạo ở trên để bắt đầu từ 1000

ALTER TABLE sales_data AUTO_INCREMENT = 1000;

Chúng tôi nhận được thông báo. ALTER TABLE sales_data AUTO_INCREMENT = 1000 0 bản ghi bị ảnh hưởng. 0 bản sao. 0 cảnh báo. 0 0. 016 giây

Bây giờ hãy chèn thêm một vài hàng và chọn * trên sales_data để xem sự thay đổi

INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
VALUES("Debolina",35,500); 
INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
VALUES("Erick",20,350); 
INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
VALUES("Rasmus",25,355); 
SELECT * FROM sales_data;

đầu ra. -

Mysql đặt tăng tự động thành 1
Hình 1. 2

Như chúng ta có thể thấy trong hình 1. 2, chúng tôi đã có thể đặt lại giá trị auto_increment thành công và bây giờ tất cả các hàng mới sẽ có sale_person_id được tăng thêm một bắt đầu từ 1000

Đặt lại bảng cắt bớt AUTO_INCREMENT trong MySQL

Nếu bạn muốn xóa tất cả dữ liệu trước đó khỏi bảng và sau đó đặt lại giá trị auto_increment thì sao?

Giải pháp là cắt bớt bảng và sau đó đặt giá trị auto_increment mong muốn. Quan sát đoạn mã dưới đây và xuất ra

TRUNCATE TABLE sales_data;
ALTER TABLE sales_data AUTO_INCREMENT = 1;

Chúng tôi sẽ chèn lại một số dữ liệu và chọn * trên bảng sales_data để xem sự thay đổi

INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
VALUES("Debolina",35,500); 
INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
VALUES("Erick",20,350); 
INSERT INTO sales_data (sale_person_name,commission_percentage,no_products_sold) 
VALUES("Rasmus",25,355); 
SELECT * FROM sales_data;

đầu ra. -

Mysql đặt tăng tự động thành 1
Hình 1. 3

Ghi chú. Chúng ta có thể thay đổi giá trị auto_increment thành bất kỳ số nguyên nào ở đây chứ không chỉ 1.

Đặt lại AUTO_INCREMENT bằng cột thả trong MySQL

Một cách dễ dàng khác để đặt lại giá trị auto_increment là bỏ cột và đặt lại giá trị. Trong ví dụ dưới đây, chúng tôi sẽ sử dụng bảng sales_data được tạo ở trên với các hàng, như thể hiện trong hình 1. 1. Quan sát truy vấn dưới đây

ALTER TABLE sales_data DROP sale_person_id ;
ALTER TABLE sales_data ADD sale_person_id INT PRIMARY KEY AUTO_INCREMENT FIRST;

Trong các truy vấn trên, chúng tôi sẽ loại bỏ cột sale_person_id và sau đó thêm lại cột này, đặt cột đó làm khóa chính và đặt giá trị auto_increment của cột bắt đầu từ '1'

Đặt lại AUTO_INCREMENT sau khi xóa trong MySQL

Điều gì xảy ra nếu các mục nhập gần đây nhất bị xóa và chúng tôi muốn đặt lại giá trị auto_increment?

Chúng tôi có thể đặt lại giá trị auto_increment trở lại bắt đầu ngay sau id cuối cùng của hàng trong bảng. Ví dụ: nếu hàng cuối cùng có giá trị id là '7' và các hàng có id '8' và '9' đã bị xóa. Chèn một hàng mới vào bảng sẽ cung cấp giá trị '10' cho id trừ khi chúng tôi thực thi mã bên dưới

ALTER TABLE sales_data AUTO_INCREMENT=1;

Sau khi thực hiện dòng này, id của các hàng mới sẽ bắt đầu từ '7' thay vì '10'

Có hiểu biết chi tiết về cách đặt lại auto_increment với các ví dụ từ. ĐẶT LẠI AUTO_INCREMENT SAU KHI XÓA

Cách đặt lại AUTO_INCREMENT trong bàn làm việc của MySQL

Trong trường hợp chúng tôi không muốn viết truy vấn, chúng tôi cũng có thể đặt giá trị auto_increment bằng bàn làm việc của MySQL, chúng tôi có thể thực hiện theo các bước dưới đây

Chúng tôi có thể thay đổi giá trị gia tăng tự động trong MySQL không?

Trong MySQL, cú pháp để thay đổi giá trị bắt đầu cho cột AUTO_INCREMENT bằng cách sử dụng câu lệnh ALTER TABLE là. ALTER TABLE table_name AUTO_INCREMENT = start_value; table_name. Tên của bảng có giá trị AUTO_INCREMENT mà bạn muốn thay đổi.

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

Theo mặc định, cột AUTO_INCREMENT bắt đầu từ 1 . Bạn cũng có thể gán rõ ràng 0 cho cột để tạo số thứ tự tiếp theo trừ khi chế độ SQL NO_AUTO_VALUE_ON_ZERO được bật. Gán NULL cho cột cũng sẽ tạo ra số thứ tự tiếp theo, miễn là cột được khai báo NOT NULL.

Chúng ta có thể có 2 mức tăng tự động trong MySQL không?

Máy chủ MySQL đã cung cấp hai biến tăng tự động . auto_increment_increment và auto_increment_offset, có thể được sử dụng để tạo các giá trị gia tăng tự động khác nhau trên mỗi thành viên.

Tôi có thể thêm số gia tự động vào cột hiện có của MySQL không?

Bạn có thể thêm auto_increment vào một cột trong cơ sở dữ liệu MySQL với sự trợ giúp của lệnh ALTER .