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

Làm cách nào để đặt các id tăng tự động khác nhau cho hai bảng với một biến do người dùng xác định?


Đối với điều này, bạn có thể sử dụng LAST_INSERT_ID (). Đầu tiên chúng ta hãy tạo một bảng. Ở đây, chúng tôi đã đặt id auto_increment thành cột StudentId -

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

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable1 values(null);
Query OK, 1 row affected (0.18 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable1;

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

+-----------+
| StudentId |
+-----------+
|         1 |
+-----------+
1 row in set (0.00 sec)

Sau đây là truy vấn để lấy id chèn cuối cùng. Chúng tôi đã đặt nó trong một biến do người dùng xác định -

mysql> set @studentId=last_insert_id();
Query OK, 0 rows affected (0.00 sec)

Sau đây là truy vấn để tạo bảng thứ hai -

mysql> create table DemoTable2 (Id int);
Query OK, 0 rows affected (0.61 sec)

Sau đây là truy vấn để đặt các id tăng tự động khác nhau cho hai bảng -

mysql> insert into DemoTable2 values(@studentId+1);
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng với sự trợ giúp của câu lệnh select -

mysql> select *from DemoTable2;

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

+------+
| Id   |
+------+
|    2 |
+------+
1 row in set (0.00 sec)