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

MySQL 삽입 쿼리에서 새 레코드 키 ID를 가져오시겠습니까?

<시간/>

MySQL에서 LAST_INSERT_ID() 함수를 사용하여 새 레코드 키를 얻을 수 있습니다. 먼저 테이블을 만들고 레코드를 삽입하기 위해 LAST_INSERT_ID()를 사용합니다.

create 명령어를 이용하여 테이블을 생성해 봅시다.

쿼리는 다음과 같습니다 -

mysql> create table LastInsertRecordIdDemo
   -> (
   -> id int auto_increment,
   -> value varchar(100),
   -> primary key(id)
   -> );
Query OK, 0 rows affected (0.52 sec)

테이블을 생성한 후 LAST_INSERT_ID() 함수를 사용하여 레코드를 삽입하고 설정합니다.

mysql> insert into LastInsertRecordIdDemo values(1,'Low');
Query OK, 1 row affected (0.10 sec)

mysql> insert into LastInsertRecordIdDemo values(LAST_INSERT_ID(),'High');
Query OK, 1 row affected (0.11 sec)

이제 select 문을 사용하여 모든 레코드를 표시할 수 있습니다.

쿼리는 다음과 같습니다 -

mysql> select *from LastInsertRecordIdDemo;

다음은 출력입니다.

+----+-------+
| id | value |
+----+-------+
|  1 | Low   |
|  2 | High  |
+----+-------+
2 rows in set (0.00 sec)

이제 레코드를 삽입하려면 LAST_INSERT_ID() 함수에 1을 추가해야 합니다. 쿼리는 다음과 같습니다 -

mysql> insert into LastInsertRecordIdDemo values(LAST_INSERT_ID()+1,'Medium');
Query OK, 1 row affected (0.08 sec)

이제 select 문을 사용하여 모든 레코드를 표시할 수 있습니다.

mysql> select *From LastInsertRecordIdDemo;

다음은 출력입니다.

+----+--------+
| id | value  |
+----+--------+
|  1 | Low    |
|  2 | High   |
|  3 | Medium |
+----+--------+
3 rows in set (0.00 sec)