Get the App
SLTechnology News&Howtos  ›  Database  › 

Using AUTO_INCREMENT CASE

Shulou Source: shulou.com Published: 2022-06-01 07:00:51 10月04日 Update

Using AUTO_INCREMENT CASE

AUTO_INCREMENT CASE EXPLAIN

Http://dev.mysql.com/doc/refman/5.6/en/example-auto-increment.html

1.create case table and insert into data

Mysql > CREATE TABLE animals (

-> id MEDIUMINT NOT NULL AUTO_INCREMENT

-> name CHAR (30) NOT NULL

-> PRIMARY KEY (id)

->)

Query OK, 0 rows affected (0.04 sec)

# # Type Storage Minimum Value Maximum Value

# # MEDIUMINT 3-8388608 8388607

# # INT 4-2147483648 2147483647

1.1 AUTO_INCREMENT column (I) are not values specified, so MYSQL assigned sequence numbers automatically

Mysql > INSERT INTO animals (name) VALUES

-> ('dog'), (' cat'), ('penguin')

-> ('lax'), (' whale'), ('ostrich')

Query OK, 6 rows affected (0.00 sec)

Records: 6 Duplicates: 0 Warnings: 0

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

+-+ +

6 rows in set (0.00 sec)

1.2 insert into NULL, so i column sequence numbers automatically

Mysql > INSERT INTO animals (id,name) VALUES (NULL,'doudou')

Query OK, 1 row affected (0.01sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

+-+ +

7 rows in set (0.00 sec)

Mysql > INSERT INTO animals (id,name) VALUES (11111)

Query OK, 1 row affected (0.00 sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

| | 11111 | doudou1 |

+-+ +

8 rows in set (0.00 sec)

# # manual specified value 1111 to AUTO_INCREMENT (I), and 1111 is inserted into i column.SO AUTO_INCREMENT column is Manualed insert number.

Mysql > INSERT INTO animals (id,name) VALUES (2pm doudou1')

ERROR 1062 (23000): Duplicate entry'2' for key 'PRIMARY'

Mysql > INSERT INTO animals (id,name) VALUES (- 2pm dou1')

Query OK, 1 row affected (0.00 sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| |-2 | doudou1 |

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

| | 11111 | doudou1 |

+-+ +

9 rows in set (0.00 sec)

# # manual specified value-2 to AUTO_INCREMENT (id), and-2 is inserted into id column.Order by AUTO_INCREMENT (id) column.

2.id set 1111 and next AUTO_INCREMENT value is 1112 automatically

Mysql > INSERT INTO animals (name) VALUES ('xiaoyu')

Query OK, 1 row affected (0.01sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| |-2 | doudou1 |

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

| | 11111 | doudou1 |

| | 11112 | xiaoyu |

+-+ +

10 rows in set (0.00 sec)

# # insert into NULL id column, and next automatically generated value follows sequentially from the largest column value.

Mysql > select LAST_INSERT_ID ()

+-+

| | LAST_INSERT_ID () |

+-+

| | 11112 |

+-+

1 row in set (0.00 sec)

# # You can retrieve the most recent automatically generated AUTO_INCREMENT value with the LAST_INSERT_ID () SQL function.

3.ALTER TABLE animals AUTO_INCREMENT = 8388607 and next AUTO_INCREMENT values is 8388607

Mysql > ALTER TABLE animals AUTO_INCREMENT = 8388607

Query OK, 0 rows affected (0.01 sec)

Records: 0 Duplicates: 0 Warnings: 0

Mysql > show table status like 'animals'\ G

* * 1. Row *

Name: animals

Engine: InnoDB

Version: 10

Row_format: Compact

Rows: 8

Avg_row_length: 2048

Data_length: 16384

Max_data_length: 0

Index_length: 0

Data_free: 0

Auto_increment: 8388607

Create_time: 2016-03-25 10:23:30

Update_time: NULL

Check_time: NULL

Collation: latin1_swedish_ci

Checksum: NULL

Create_options:

Comment:

1 row in set (0.00 sec)

Mysql > INSERT INTO animals (name) VALUES ('large number')

Query OK, 1 row affected (0.01sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| |-2 | doudou1 |

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

| | 11111 | doudou1 |

| | 11112 | xiaoyu |

| | 8388607 | large number |

+-+ +

11 rows in set (0.00 sec)

Mysql > select LAST_INSERT_ID ()

+-+

| | LAST_INSERT_ID () |

+-+

| | 8388607 |

+-+

1 row in set (0.00 sec)

4.AUTO_INCREMENT values is largest 8388607 and using 'UNSIGNED' solve this problem

Mysql > INSERT INTO animals (name) VALUES ('largest number')

ERROR 1062 (23000): Duplicate entry '8388607' for key 'PRIMARY'

# # ERROR 1062 (23000) http://blog.itpub.net/26442936/viewspace-2063150/

Mysql > ALTER TABLE `animals` CHANGE `id`id` MEDIUMINT UNSIGNED auto_increment

Query OK, 10 rows affected (0.08 sec)

Mysql > show table status like 'animals'\ G

Empty set (0.00 sec)

Mysql > show table status like 'animals'\ G

* * 1. Row *

Name: animals

Engine: InnoDB

Version: 10

Row_format: Compact

Rows: 10

Avg_row_length: 1638

Data_length: 16384

Max_data_length: 0

Index_length: 0

Data_free: 0

Auto_increment: 8388608

Create_time: 2016-03-25 17:37:00

Update_time: NULL

Check_time: NULL

Collation: latin1_swedish_ci

Checksum: NULL

Create_options:

Comment:

1 row in set (0.00 sec

5.restart mysql server AUTO_INCREMENT values is not change

[root@dbdou02 ~] # service mysqld start

Starting mysqld: [OK]

[root@dbdou02] # mysql-uroot-p

Enter password:

Welcome to the MySQL monitor. Commands end with; or\ g.

Your MySQL connection id is 2

Server version: 5.6.29 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

Affiliates. Other names may be trademarks of their respective

Owners.

Type 'help;' or'\ h' for help. Type'\ c'to clear the current input statement.

Mysql > use test1

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with-A

Database changed

Mysql > select LAST_INSERT_ID ()

+-+

| | LAST_INSERT_ID () |

+-+

| | 0 |

+-+

1 row in set (0.00 sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

| | 11111 | doudou1 |

| | 11112 | xiaoyu |

| | 8388607 | large number |

| | 8388608 | largest number |

+-+ +

11 rows in set (0.00 sec)

Mysql > INSERT INTO animals (name) VALUES ('xiaoyu')

Query OK, 1 row affected (0.02 sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

| | 11111 | doudou1 |

| | 11112 | xiaoyu |

| | 8388607 | large number |

| | 8388608 | xiaoyu |

| | 8388609 | xiaoyu |

+-+ +

12 rows in set (0.00 sec)

Mysql > INSERT INTO animals (name) VALUES ('xiaoyu')

Query OK, 1 row affected (0.00 sec)

Mysql > SELECT * FROM animals

+-+ +

| | id | name |

+-+ +

| | 1 | dog |

| | 2 | cat |

| | 3 | penguin |

| | 4 | lax |

| | 5 | whale |

| | 6 | ostrich |

| | 7 | doudou |

| | 11111 | doudou1 |

| | 11112 | xiaoyu |

| | 8388607 | large number |

| | 8388608 | xiaoyu |

| | 8388609 | xiaoyu |

| | 8388610 | xiaoyu |

+-+ +

13 rows in set (0.00 sec)

Mysql > show table status like 'animals'\ G

* * 1. Row *

Name: animals

Engine: InnoDB

Version: 10

Row_format: Compact

Rows: 12

Avg_row_length: 1365

Data_length: 16384

Max_data_length: 0

Index_length: 0

Data_free: 0

Auto_increment: 8388611

Create_time: 2016-03-25 14:07:46

Update_time: NULL

Check_time: NULL

Collation: latin1_swedish_ci

Checksum: NULL

Create_options:

Comment:

1 row in set (0.00 sec)

#

All rights reserved, the article is allowed to be reprinted, but the source address must be indicated by link, otherwise legal liability will be investigated! [QQ Exchange Group: 53993419]

QQ:14040928 E-mail:dbadoudou@163.com

Link to this article: http://blog.itpub.net/blog/post/id/2063871/

#

CASE scripts

CREATE TABLE animals (

Id MEDIUMINT NOT NULL AUTO_INCREMENT

Name CHAR (30) NOT NULL

PRIMARY KEY (id)

);

INSERT INTO animals (name) VALUES

('dog'), (' cat'), ('penguin')

('lax'), (' whale'), ('ostrich')

SELECT * FROM animals

INSERT INTO animals (id,name) VALUES (NULL,'doudou')

SELECT * FROM animals

INSERT INTO animals (id,name) VALUES (11111)

SELECT * FROM animals

INSERT INTO animals (id,name) VALUES (2meme double 1')

INSERT INTO animals (id,name) VALUES (- 2pm doudou1')

SELECT * FROM animals

INSERT INTO animals (name) VALUES ('xiaoyu')

SELECT * FROM animals

ALTER TABLE animals AUTO_INCREMENT = 8388607

Show table status like 'animals'\ G

INSERT INTO animals (name) VALUES ('large number')

Select LAST_INSERT_ID ()

INSERT INTO animals (name) VALUES ('largest number')

Select LAST_INSERT_ID ()

Service mysqld stop

Service mysqld start

Select LAST_INSERT_ID ()

SELECT * FROM animals

INSERT INTO animals (name) VALUES ('xiaoyu')

Tags: Link address article method law legal liability copyright copyright liability communication Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno vpn MySQL Linux Huawei macOS