Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

사용자 정의 변수가 있는 두 테이블에 대해 서로 다른 자동 증가 ID를 설정하는 방법은 무엇입니까?


이를 위해 LAST_INSERT_ID()를 사용할 수 있습니다. 먼저 테이블을 생성해 보겠습니다. 여기에서 auto_increment id를 StudentId 열 -

으로 설정했습니다.
mysql> create table DemoTable1 (StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY);
Query OK, 0 rows affected (0.58 sec)

삽입 명령을 사용하여 테이블에 일부 레코드 삽입 -

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

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable1;

이것은 다음과 같은 출력을 생성합니다 -

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

다음은 마지막 삽입 ID를 가져오는 쿼리입니다. 우리는 그것을 사용자 정의 변수에 설정했습니다 -

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

다음은 두 번째 테이블을 생성하는 쿼리입니다 -

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

다음은 두 테이블에 대해 서로 다른 자동 증가 ID를 설정하는 쿼리입니다 -

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

select 문의 도움으로 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable2;

이것은 다음과 같은 출력을 생성합니다 -

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