mysql 實現id自增序列 mysql自增id列

2021-10-13 06:33:47 字數 1794 閱讀 9010

如果希望在每次插入新記錄時,自動地建立主鍵欄位的值。可以在表中建立乙個 auto-increment 字段。mysql 使用 auto_increment 關鍵字來執行 auto-increment 任務。預設地auto_increment 的開始值是 1,每條新記錄遞增 1。

主鍵又稱主關鍵字,主關鍵字(primary key)是表中的乙個或多個字段,它的值用於唯一地標識表中的某一條記錄。

測試建立乙個test表:

mysql> create table test (

aid int not null auto_increment,

site_id int, cout int, date date,

primary key (aid) );

query ok, 0 rows affected (0.01 sec)

mysql> desc test;

| field | type | null | key | default | extra |

| aid | int(11) | no | pri | null | auto_increment |

| site_id | int(11) | yes | | null | |

| cout | int(11) | yes | | null | |

| date | date | yes | | null | |

4 rows in set (0.00 sec)

mysql>

嘗試插入兩條資料

mysql> insert into test9 (site_id , cout, date) value  ( 1,45,'2019-10-10' ),( 1,45,'2016-05-10' );

query ok, 2 row affected (0.00 sec)

mysql> select * from test9;

| aid | site_id | cout | date |

| 2 | 1 | 45 | 2019-10-10 |

| 4 | 1 | 45 | 2016-05-10 |

2 rows in set (0.00 sec)

mysql>

發現aid是有自動新增而且遞增,但遞增都是加2.

應該是mysql環境設定問題,auto_increment的預設值是2,更改為1 就行

mysql> set @@global.auto_increment_increment = 1;

query ok, 0 rows affected (0.01 sec)

mysql> set @@auto_increment_increment =1;

query ok, 0 rows affected (0.00 sec)

再嘗試新增資料,就可以了

mysql> insert into test9 (site_id , cout, date) value ( 3,55,'2017-05-20' ),( 4,45,'2017-08-20' );

query ok, 2 row affected (0.00 sec)

mysql> select * from test9;

| aid | site_id | cout | date |

| 2 | 1 | 45 | 2019-10-10 |

| 4 | 1 | 45 | 2016-05-10 |

| 5 | 3 | 55 | 2017-05-20 |

| 6 | 4 | 45 | 2017-08-20 |

4rows in set (0.00 sec)

mysql>

mysql實現自增序列

create table sequence name varchar 50 collate utf8 bin not null comment 序列的名字 current value int 11 not null comment 序列的當前值 increment int 11 not null d...

mysql自增id重置

參考 使用truncate truncate table 說明 使用truncate會刪除表的資料釋放空間,並且重置字自增id,但不會刪除表的定義。用處 需要清空表的時候才能使用。使用修改標識 dbcc checkident table name reseed,new reseed value 說明...

Oracle自增ID實現

首先,建立一張表 create table example id number 4 not null primary key,name varchar 25 然後,自定義乙個序列 sequence create sequence example sequence increment by 1 每次加...