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

MySQL의 테이블에 대한 현재 AUTO_INCREMENT 값을 어떻게 얻습니까?

<시간/>

현재 auto_increment 값을 알기 위해 last_insert_id() 함수를 사용할 수 있습니다. 먼저 INSERT 명령을 사용하여 테이블을 생성합니다.

테이블 만들기 -

mysql> CREATE table AutoIncrement
-> (
-> IdAuto int auto_increment,
-> primary key(IdAuto)
-> );
Query OK, 0 rows affected (0.59 sec)

테이블을 만든 후 INSERT 명령을 사용하여 레코드를 삽입합니다. 레코드 삽입 -

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.48 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.17 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.13 sec)

mysql> INSERT into AutoIncrement values();
Query OK, 1 row affected (0.09 sec)

이제 SELECT 명령을 사용하여 테이블에 몇 개의 레코드를 삽입했는지 확인할 수 있습니다.

모든 레코드 표시 -

mysql> SELECT * from AutoIncrement;
+--------+
| IdAuto |
+--------+
| 1      |
| 2      |
| 3      |
| 4      |
+--------+
4 rows in set (0.00 sec)

따라서 마지막 자동 증분은 4입니다. 다음은 현재 삽입된 값인 4를 알기 위한 쿼리입니다.

mysql> SELECT last_insert_id();

다음은 출력입니다 -

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

다음은 다음 자동 증가 값을 알려주는 쿼리입니다. 구문은 다음과 같습니다 -

SELECT `AUTO_INCREMENT`
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'yourDatabaseName'
AND TABLE_NAME = 'yourTableName';

이제 위의 쿼리를 적용하고 있습니다 -

mysql> SELECT `AUTO_INCREMENT`
-> FROM INFORMATION_SCHEMA.TABLES
-> WHERE TABLE_SCHEMA = 'business'
-> AND TABLE_NAME = 'AutoIncrement';

다음은 출력입니다 -

+----------------------------+
| AUTO_INCREMENT             |
+----------------------------+
| 5                          |
+----------------------------+
1 row in set (0.13 sec)

위의 쿼리에서 다음 증가 값을 얻습니다.