Hướng dẫn how to set auto_increment in mysql after creating table - cách đặt auto_increment trong mysql sau khi tạo bảng

3.6.9 & nbsp; sử dụng auto_increment

Thuộc tính AUTO_INCREMENT có thể được sử dụng để tạo danh tính duy nhất cho các hàng mới:

CREATE TABLE animals (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     PRIMARY KEY (id)
);

INSERT INTO animals (name) VALUES
    ('dog'),('cat'),('penguin'),
    ('lax'),('whale'),('ostrich');

SELECT * FROM animals;

Trở lại nào:

+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+

Không có giá trị nào được chỉ định cho cột AUTO_INCREMENT, do đó tự động được chỉ định các số trình tự của MySQL. Bạn cũng có thể gán 0 một cách rõ ràng cho cột để tạo các số chuỗi, trừ khi chế độ ____10 SQL được bật. Ví dụ:

INSERT INTO animals (id,name) VALUES(0,'groundhog');

Nếu cột được khai báo

+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+
1, cũng có thể gán
+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+
2 cho cột để tạo số chuỗi. Ví dụ:

INSERT INTO animals (id,name) VALUES(NULL,'squirrel');

Khi bạn chèn bất kỳ giá trị nào khác vào cột AUTO_INCREMENT, cột được đặt thành giá trị đó và chuỗi được đặt lại để giá trị được tạo tự động tiếp theo theo tuần tự từ giá trị cột lớn nhất. Ví dụ:

INSERT INTO animals (id,name) VALUES(100,'rabbit');
INSERT INTO animals (id,name) VALUES(NULL,'mouse');
SELECT * FROM animals;
+-----+-----------+
| id  | name      |
+-----+-----------+
|   1 | dog       |
|   2 | cat       |
|   3 | penguin   |
|   4 | lax       |
|   5 | whale     |
|   6 | ostrich   |
|   7 | groundhog |
|   8 | squirrel  |
| 100 | rabbit    |
| 101 | mouse     |
+-----+-----------+

Cập nhật giá trị cột AUTO_INCREMENT hiện có cũng đặt lại chuỗi AUTO_INCREMENT.

Bạn có thể truy xuất giá trị AUTO_INCREMENT được tạo tự động gần đây nhất với hàm

+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+
7 SQL hoặc hàm API
+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+
8 C. Các chức năng này là đặc trưng cho kết nối, vì vậy các giá trị trả về của chúng không bị ảnh hưởng bởi một kết nối khác cũng đang thực hiện các phần chèn.

Sử dụng kiểu dữ liệu số nguyên nhỏ nhất cho cột AUTO_INCREMENT đủ lớn để giữ giá trị chuỗi tối đa bạn yêu cầu. Khi cột đạt đến giới hạn trên của kiểu dữ liệu, lần thử tiếp theo để tạo số thứ tự không thành công. Sử dụng thuộc tính

INSERT INTO animals (id,name) VALUES(0,'groundhog');
0 nếu có thể cho phép một phạm vi lớn hơn. Ví dụ: nếu bạn sử dụng
INSERT INTO animals (id,name) VALUES(0,'groundhog');
1, số trình tự cho phép tối đa là 127. Đối với
INSERT INTO animals (id,name) VALUES(0,'groundhog');
2, tối đa là 255. Xem Phần & NBSP; Đối với phạm vi của tất cả các loại số nguyên.

Ghi chú

Để chèn nhiều hàng,

+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+
7 và
+----+---------+
| id | name    |
+----+---------+
|  1 | dog     |
|  2 | cat     |
|  3 | penguin |
|  4 | lax     |
|  5 | whale   |
|  6 | ostrich |
+----+---------+
8 thực sự trả lại phím AUTO_INCREMENT từ hàng đầu tiên của các hàng được chèn. Điều này cho phép chèn nhiều hàng được sao chép chính xác trên các máy chủ khác trong thiết lập sao chép.first of the inserted rows. This enables multiple-row inserts to be reproduced correctly on other servers in a replication setup.

Để bắt đầu với giá trị AUTO_INCREMENT khác ngoài 1, hãy đặt giá trị đó bằng

INSERT INTO animals (id,name) VALUES(0,'groundhog');
7 hoặc
INSERT INTO animals (id,name) VALUES(0,'groundhog');
8, như thế này:

mysql> ALTER TABLE tbl AUTO_INCREMENT = 100;

Ghi chú Myisam

  • Đối với các bảng

    INSERT INTO animals (id,name) VALUES(0,'groundhog');
    9, bạn có thể chỉ định AUTO_INCREMENT trên cột thứ cấp trong chỉ mục nhiều cột. Trong trường hợp này, giá trị được tạo cho cột AUTO_INCREMENT được tính là
    INSERT INTO animals (id,name) VALUES(NULL,'squirrel');
    2) + 1 trong đó tiền tố = ________ 33. Điều này rất hữu ích khi bạn muốn đặt dữ liệu vào các nhóm được đặt hàng.

    CREATE TABLE animals (
        grp ENUM('fish','mammal','bird') NOT NULL,
        id MEDIUMINT NOT NULL AUTO_INCREMENT,
        name CHAR(30) NOT NULL,
        PRIMARY KEY (grp,id)
    ) ENGINE=MyISAM;
    
    INSERT INTO animals (grp,name) VALUES
        ('mammal','dog'),('mammal','cat'),
        ('bird','penguin'),('fish','lax'),('mammal','whale'),
        ('bird','ostrich');
    
    SELECT * FROM animals ORDER BY grp,id;

    Trở lại nào:

    +--------+----+---------+
    | grp    | id | name    |
    +--------+----+---------+
    | fish   |  1 | lax     |
    | mammal |  1 | dog     |
    | mammal |  2 | cat     |
    | mammal |  3 | whale   |
    | bird   |  1 | penguin |
    | bird   |  2 | ostrich |
    +--------+----+---------+

    Không có giá trị nào được chỉ định cho cột AUTO_INCREMENT, do đó tự động được chỉ định các số trình tự của MySQL. Bạn cũng có thể gán 0 một cách rõ ràng cho cột để tạo các số chuỗi, trừ khi chế độ ____10 SQL được bật. Ví dụ:

  • Nếu cột được khai báo

    +----+---------+
    | id | name    |
    +----+---------+
    |  1 | dog     |
    |  2 | cat     |
    |  3 | penguin |
    |  4 | lax     |
    |  5 | whale   |
    |  6 | ostrich |
    +----+---------+
    1, cũng có thể gán
    +----+---------+
    | id | name    |
    +----+---------+
    |  1 | dog     |
    |  2 | cat     |
    |  3 | penguin |
    |  4 | lax     |
    |  5 | whale   |
    |  6 | ostrich |
    +----+---------+
    2 cho cột để tạo số chuỗi. Ví dụ:

Khi bạn chèn bất kỳ giá trị nào khác vào cột AUTO_INCREMENT, cột được đặt thành giá trị đó và chuỗi được đặt lại để giá trị được tạo tự động tiếp theo theo tuần tự từ giá trị cột lớn nhất. Ví dụ:

Cập nhật giá trị cột AUTO_INCREMENT hiện có cũng đặt lại chuỗi AUTO_INCREMENT.

  • Bạn có thể truy xuất giá trị AUTO_INCREMENT được tạo tự động gần đây nhất với hàm

    +----+---------+
    | id | name    |
    +----+---------+
    |  1 | dog     |
    |  2 | cat     |
    |  3 | penguin |
    |  4 | lax     |
    |  5 | whale   |
    |  6 | ostrich |
    +----+---------+
    7 SQL hoặc hàm API
    +----+---------+
    | id | name    |
    +----+---------+
    |  1 | dog     |
    |  2 | cat     |
    |  3 | penguin |
    |  4 | lax     |
    |  5 | whale   |
    |  6 | ostrich |
    +----+---------+
    8 C. Các chức năng này là đặc trưng cho kết nối, vì vậy các giá trị trả về của chúng không bị ảnh hưởng bởi một kết nối khác cũng đang thực hiện các phần chèn.

  • Sử dụng kiểu dữ liệu số nguyên nhỏ nhất cho cột AUTO_INCREMENT đủ lớn để giữ giá trị chuỗi tối đa bạn yêu cầu. Khi cột đạt đến giới hạn trên của kiểu dữ liệu, lần thử tiếp theo để tạo số thứ tự không thành công. Sử dụng thuộc tính

    INSERT INTO animals (id,name) VALUES(0,'groundhog');
    0 nếu có thể cho phép một phạm vi lớn hơn. Ví dụ: nếu bạn sử dụng
    INSERT INTO animals (id,name) VALUES(0,'groundhog');
    1, số trình tự cho phép tối đa là 127. Đối với
    INSERT INTO animals (id,name) VALUES(0,'groundhog');
    2, tối đa là 255. Xem Phần & NBSP; Đối với phạm vi của tất cả các loại số nguyên.

  • Ghi chú

  • Để chèn nhiều hàng,

    +----+---------+
    | id | name    |
    +----+---------+
    |  1 | dog     |
    |  2 | cat     |
    |  3 | penguin |
    |  4 | lax     |
    |  5 | whale   |
    |  6 | ostrich |
    +----+---------+
    7 và
    +----+---------+
    | id | name    |
    +----+---------+
    |  1 | dog     |
    |  2 | cat     |
    |  3 | penguin |
    |  4 | lax     |
    |  5 | whale   |
    |  6 | ostrich |
    +----+---------+
    8 thực sự trả lại phím AUTO_INCREMENT từ hàng đầu tiên của các hàng được chèn. Điều này cho phép chèn nhiều hàng được sao chép chính xác trên các máy chủ khác trong thiết lập sao chép.

  • Để bắt đầu với giá trị AUTO_INCREMENT khác ngoài 1, hãy đặt giá trị đó bằng

    INSERT INTO animals (id,name) VALUES(0,'groundhog');
    7 hoặc
    INSERT INTO animals (id,name) VALUES(0,'groundhog');
    8, như thế này:

  • Ghi chú Myisam

  • Đối với các bảng

    INSERT INTO animals (id,name) VALUES(0,'groundhog');
    9, bạn có thể chỉ định AUTO_INCREMENT trên cột thứ cấp trong chỉ mục nhiều cột. Trong trường hợp này, giá trị được tạo cho cột AUTO_INCREMENT được tính là
    INSERT INTO animals (id,name) VALUES(NULL,'squirrel');
    2) + 1 trong đó tiền tố = ________ 33. Điều này rất hữu ích khi bạn muốn đặt dữ liệu vào các nhóm được đặt hàng.

Tôi có thể thêm gia tăng tự động vào cột mysql hiện có 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 thay đổi..

Bạn có thể đặt tự động tăng lên không?

Tự động tăng cho phép tự động được tạo một số duy nhất khi bản ghi mới được chèn vào bảng.Thông thường đây là trường chính chính mà chúng tôi muốn được tạo tự động mỗi khi bản ghi mới được chèn.. Often this is the primary key field that we would like to be created automatically every time a new record is inserted.

Có thể đặt giá trị trường Auto_increment theo cách thủ công không?

Cài đặt hoặc thay đổi giá trị Auto_increment Bạn có thể sử dụng câu lệnh ALTER BẢNG để gán giá trị mới cho tùy chọn bảng Auto_increment hoặc đặt biến hệ thống máy chủ Insert_id để thay đổi giá trị tự động tiếp theo được chèn bởi phiên hiện tại.use an ALTER TABLE statement to assign a new value to the auto_increment table option, or set the insert_id server system variable to change the next AUTO_INCREMENT value inserted by the current session.

Bạn có thể tự động tăng một khóa chính trong MySQL không?

Để tránh sự phức tạp như vậy 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 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ị đã ký và không dấu.Các loại dữ liệu không dấu chỉ có thể chứa các số dương.we can use MySQL's Auto increment feature to generate primary keys. Auto increment is used with the INT data type. The INT data type supports both signed and unsigned values. Unsigned data types can only contain positive numbers.