Computer >> Máy Tính >  >> Lập trình >> MySQL

Lấy khóa chính tiếp theo mà không thêm bản ghi mới là không thể, phải không trong MYSQL

Không, có thể lấy khóa chính tiếp theo mà không cần thêm bản ghi mới. Trước tiên, hãy để chúng tôi tạo -

mysql> create table DemoTable1399
   -> (
   -> StudentId int NOT NULL AUTO_INCREMENT,
   -> PRIMARY KEY(StudentId)
   -> );
Query OK, 0 rows affected (0.53 sec)

Chèn một số bản ghi vào bảng bằng cách sử dụng chèn -

mysql> insert into DemoTable1399 values();
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1399 values();
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1399 values();
Query OK, 1 row affected (0.07 sec)

Hiển thị tất cả các bản ghi từ bảng bằng select -

mysql> select * from DemoTable1399;

Điều này sẽ tạo ra kết quả sau -

+-----------+
| StudentId |
+-----------+
|         1 |
|         2 |
|         3 |
+-----------+
3 rows in set (0.00 sec)

Đây là truy vấn để lấy khóa chính tiếp theo mà không cần thêm bản ghi mới -

mysql> select auto_increment as NextPrimaryKey
   -> from information_schema.tables
   -> where table_schema=database()
   -> and table_name = 'DemoTable1399';

Điều này sẽ tạo ra kết quả sau -

+----------------+
| NextPrimaryKey |
+----------------+
|              4 |
+----------------+
1 row in set (0.00 sec)