mysql自增id列


如果希望在每次插入新記錄時,自動地創建主鍵字段的值。可以在表中創建一個 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>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM