Làm cách nào để đặt giá trị tự động tăng khóa chính trong MySQL?
Khi làm việc với cơ sở dữ liệu rộng lớn trong SQL, một số bảng và trường dữ liệu sẽ yêu cầu các số duy nhất. Chẳng hạn, một cột của bảng có ràng buộc PRIMARY KEY hoặc UNIQUE sẽ luôn yêu cầu một số mới. Bạn có thể thực hiện thủ công ở một mức độ hạn chế. Tuy nhiên, khi nói đến cơ sở dữ liệu khổng lồ, bạn có thể quên số duy nhất cuối cùng mà bạn đã nhập hoặc chỉ bao gồm cùng một số hai lần vì không dễ nhớ mọi thứ. Bên cạnh vấn đề về bộ nhớ, việc cung cấp một số duy nhất cho tất cả các bản ghi cũng là một công việc tẻ nhạt. Đó là nơi tự động gia tăng trong SQL phát huy vai trò của nó Show
Tự động tăng trong SQL là gì?Số gia tự động trong SQL là một tính năng được áp dụng cho một trường để nó có thể tự động tạo và cung cấp một giá trị duy nhất cho mọi bản ghi mà bạn nhập vào bảng SQL. Trường này thường được sử dụng làm cột KHÓA CHÍNH, nơi bạn cần cung cấp một giá trị duy nhất cho mỗi bản ghi mà bạn thêm vào. Tuy nhiên, nó cũng có thể được sử dụng cho các cột ràng buộc ĐỘC ĐÁO Làm cách nào để thiết lập mức tăng tự động trong SQL?Bây giờ, vì bạn đã biết trường tăng tự động SQL làm gì, hãy thiết lập nó để tự động tạo các số duy nhất cho các bản ghi bạn nhập vào bảng cơ sở dữ liệu. Một số cơ sở dữ liệu hỗ trợ các trường tăng tự động SQL. Bạn sẽ xem qua một số hệ thống DBMS chính và xem cách thiết lập cột tăng tự động. Bạn sẽ phải tạo bảng Sinh viên trong tất cả DBMS và đặt tăng tự động trong SQL Khóa học MIỄN PHÍ. Giới thiệu về Phân tích dữ liệuNắm vững khái niệm cơ bản về phân tích dữ liệu chỉ bằng một cú nhấp chuột. Bắt đầu họcTự động tăng trong SQL. Thiết lập cho MySQLTrong máy chủ MySQL, nó áp dụng trường tăng tự động với từ khóa AUTO_INCREMENT. Theo mặc định, nó bắt đầu bằng số một và tăng giá trị lên một cho mỗi bản ghi mới. Trong ví dụ bên dưới, bạn sẽ sử dụng lệnh CREATE TABLE để tạo bảng Học sinh và áp dụng PRIMARY KEY và AUTO_INCREMENT cho cột ID. Sau khi tạo bảng, bạn sẽ sử dụng lệnh INSERT INTO để thêm hàng mà không cần cung cấp giá trị của cột ID -- Tạo bảng TẠO BẢNG Học sinh( ID int PRIMARY KEY AUTO_INCREMENT, FirstName varchar(25) NOT NULL, Họ tên varchar(25), tuổi int ); -- Chèn giá trị CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Rahul', 'Kumar', 24); CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Aakash', 'Roy', 25); CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Nick', 'Chopra', 23); -- Tìm nạp giá trị CHỌN * TỪ Học sinh; đầu raNhư bạn có thể thấy ở đầu ra, số tự động tăng trong SQL đã cung cấp cho cột ID các số duy nhất như mong đợi 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 THAY ĐỔI BẢNG tên_bảng AUTO_INCREMENT = start_value; Trong cú pháp trên
Sử dụng cú pháp để bắt đầu đánh số từ 100 trong bảng Học sinh rồi thêm các hàng khác để xem hoạt động của nó ALTER TABLE Sinh viên AUTO_INCREMENT = 100; CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('David', 'Tiwari', 26); CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Hitesh', 'Patel', 29); CHỌN * TỪ Học sinh; đầu raTự động tăng trong SQL. Thiết lập cho máy chủ SQLMáy chủ SQL sử dụng từ khóa IDENTITY để đặt tăng tự động theo cú pháp sau trong khi tạo bảng IDENTITY (giá_trị_ban_đầu,_giá_trị_tăng); Trong cú pháp trên
Hãy tạo cùng một bảng Sinh viên trong Máy chủ SQL và sử dụng từ khóa IDENTITY để đặt tăng tự động. Lần này, bạn sẽ bắt đầu trực tiếp với 1000 và có khoảng cách là 5 giữa mỗi số của hàng -- Tạo bảng TẠO BẢNG Học sinh( ID int IDENTITY(1000, 5) KHÓA CHÍNH, FirstName varchar(25) NOT NULL, Họ tên varchar(25), tuổi int ); -- Chèn giá trị CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Rahul', 'Kumar', 24); CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Aakash', 'Roy', 25); CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Nick', 'Chopra', 23); -- Tìm nạp giá trị CHỌN * TỪ Học sinh; đầu raTự động tăng trong SQL. Thiết lập cho MS AccessTừ khóa AUTOINCREMENT dùng để thiết lập tự động tăng trong MS Access. Các giá trị bắt đầu và gia tăng mặc định cho AUTOINCREMENT lần lượt là 1 và 1. Tuy nhiên, bạn có thể dễ dàng thay đổi nó trong khi cài đặt tăng tự động theo cú pháp sau AUTOINCREMENT(giá trị_bắt đầu, giá trị_gia tăng); Trong cú pháp trên
Lần này, bạn sẽ tạo một bảng Students1 trong ví dụ bên dưới với máy chủ MS Access và thiết lập tăng tự động trong SQL với các giá trị đầu vào giống nhau. Trong trường hợp này, bạn phải đặt start_value thành 200 và increment_value thành 4 -- Tạo bảng TẠO BẢNG Học sinh1( ID int AUTOINCREMENT(200,4) KHÓA CHÍNH, FirstName varchar(25) NOT NULL, Họ tên varchar(25), tuổi int ); -- Chèn giá trị CHÈN VÀO HỌC SINH1 (Tên, Họ, Tuổi) GIÁ TRỊ ('Rahul', 'Kumar', 24); CHÈN VÀO HỌC SINH1 (Tên, Họ, Tuổi) GIÁ TRỊ ('Aakash', 'Roy', 25); CHÈN VÀO HỌC SINH1 (Tên, Họ, Tuổi) GIÁ TRỊ ('Nick', 'Chopra', 23); -- Tìm nạp giá trị CHỌN * TỪ Học sinh1; đầu raChương trình Thạc sĩ Phân tích Kinh doanhNhận kiến thức chuyên môn về các công cụ phân tích Doanh nghiệp Chương trình Khám pháTự động tăng trong SQL. Thiết lập cho OracleĐể thiết lập tăng tự động trong Oracle, trước tiên bạn sẽ phải tạo một đối tượng chuỗi. Đối tượng này được sử dụng để tạo ra một dãy số. Đây là cách bạn có thể sử dụng câu lệnh CREATE SEQUENCE trong Oracle để tạo một đối tượng chuỗi cho bảng Students' TẠO TRÌNH TỰ seq_Students GIÁ TRỊ NHỎ 1 BẮT ĐẦU VỚI 20 TĂNG 2 CỤM 20; Cú pháp trên sẽ tạo một đối tượng chuỗi có tên seq_Students bắt đầu bằng 20 và tăng thêm 2 với bộ đệm là 20 (số lượng giá trị chuỗi được lưu trong bộ nhớ). Bây giờ, bạn sẽ sử dụng hàm nextval tích hợp sẵn để thêm giá trị với tính năng tự động tăng và xem nó hoạt động. Hãy tạo bảng Học sinh và chèn các giá trị TẠO BẢNG Học sinh( Số ID(10) KHÓA CHÍNH, FirstName varchar2(50) NOT NULL, Họ varchar2(50), Số tuổi(10) ); CHÈN VÀO Học sinh (ID, Tên, Họ, Tuổi) GIÁ TRỊ (seq_Students. nextval, 'Rahul', 'Kumar', 24); CHÈN VÀO Học sinh (ID, Tên, Họ, Tuổi) GIÁ TRỊ (seq_Students. nextval, 'Aakash', 'Roy', 25); CHÈN VÀO Học sinh (ID, Tên, Họ, Tuổi) GIÁ TRỊ (seq_Students. nextval, 'Nick', 'Chopra', 23); -- Tìm nạp giá trị CHỌN * TỪ Học sinh; đầu raTự động tăng trong SQL. Thiết lập cho PostgreSQLTrong PostgreSQL, từ khóa SERIAL được sử dụng để thiết lập cột tăng tự động. SERIAL trong PostgreSQL là một kiểu dữ liệu, như BIGSERIAL và SMALLSERIAL. Nhưng nó hoạt động tương tự như tăng tự động trong SQL. Tuy nhiên, bạn không thể đặt giá trị bắt đầu hoặc giá trị gia tăng theo lựa chọn của mình một cách rõ ràng. Đây là cách bạn có thể tạo một bảng và sử dụng từ khóa SERIAL để đặt tăng tự động trong PostgreSQL -- Tạo bảng TẠO BẢNG Học sinh( ID NỐI TIẾP KHÓA CHÍNH, FirstName TEXT NOT NULL, Họ Văn bản, tuổi int ); -- Chèn giá trị CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Rahul', 'Kumar', 24); CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Aakash', 'Roy', 25); CHÈN GIÁ TRỊ VÀO HỌC SINH (Tên, Họ, Tuổi) ('Nick', 'Chopra', 23); -- Tìm nạp giá trị CHỌN * TỪ Học sinh; đầu raTích lũy kiến thức chuyên môn về các công cụ và kỹ thuật phân tích Kinh doanh mới nhất với Chương trình Chứng chỉ Chuyên viên Phân tích Kinh doanh. đăng ký ngay bây giờ Phần kết luậnTrong bài viết này, bạn đã học mọi thứ về tăng tự động trong SQL. Bạn đã trải qua việc sử dụng tăng tự động và cách thiết lập nó trong các máy chủ DBMS khác nhau. Biết cách thức và vị trí sử dụng gia số tự động sẽ giúp bạn quản lý hiệu quả các cơ sở dữ liệu khổng lồ, đặc biệt là khi làm việc với các bảng ràng buộc PRIMARY KEY. Bạn có bất kỳ câu hỏi nào liên quan đến bài viết về Auto Increment trong SQL này không? . Đội ngũ của chúng tôi sẽ giúp bạn giải quyết chúng. Nếu bạn muốn tìm hiểu các khái niệm SQL thú vị hơn, bạn có thể chọn tham gia Khóa đào tạo chứng chỉ SQL của Simplilearn. học tập vui vẻ Thông tin về các Tác giảđơn giảnSimplilearn là một trong những nhà cung cấp dịch vụ đào tạo trực tuyến hàng đầu thế giới về Tiếp thị kỹ thuật số, Điện toán đám mây, Quản lý dự án, Khoa học dữ liệu, CNTT, Phát triển phần mềm và nhiều công nghệ mới nổi khác Khóa chính có thể là AUTO_INCREMENT không?Tự động tăng cho phép một số duy nhất được tạo tự động khi 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 bản ghi mới được chèn vào .
Làm cách nào để nhận giá trị gia tăng tự động trong MySQL?Có thể đạt được giá trị của cột sử dụng AUTO_INCREMENT sau câu lệnh INSERT theo một số cách khác nhau. Để lấy giá trị ngay sau INSERT , sử dụng truy vấn SELECT với hàm LAST_INSERT_ID() .
Làm cách nào để đặt ID được tạo tự động trong MySQL?MySQL có từ khóa AUTO_INCREMENT để thực hiện tự động tăng. Giá trị bắt đầu cho AUTO_INCREMENT là 1, là giá trị mặc định. Nó sẽ tăng thêm 1 cho mỗi bản ghi mới. Để lấy id tăng tự động tiếp theo trong MySQL, chúng ta có thể sử dụng hàm last_insert_id() từ MySQL hoặc auto_increment với SELECT .
Có thể đặt giá trị trường AUTO_INCREMENT theo cách thủ công không?Có nếu giá trị trường tự động tăng lên; . Giá trị mặc định là có. Nếu bạn muốn gán giá trị theo cách thủ công cho trường có thuộc tính AutoIncrement được đặt thành Có, thì bạn phải là thành viên của bộ quyền cơ sở dữ liệu db_owner của SQL Server . |