您好,登錄后才能下訂單哦!
本篇文章為大家展示了mysql中怎么實現主鍵自動增長,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
1、我們先建一個表user
mysql> create table user(
-> id int(4) primary key auto_increment,
-> username varchar(20),
-> password varchar(20));
Query OK, 0 rows affected (0.08 sec)
2、我們先插入一條數據:
mysql> insert into user values (null,'admin',300000);
Query OK, 1 row affected (0.09 sec)
3、我們插入的主鍵值為null,可還是插入成功了。查看該表的值:
mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | admin | 300000 |
+----+----------+----------+
1 row in set (0.00 sec)
該表中的id仍為1。
4、我們再插一條正常的數據:
mysql> insert into user (username,password) values ('Europa','123');
Query OK, 1 row affected (0.03 sec)
5、自動增長后是2,數據庫中呢?我們看下:
mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | admin | 300000 |
| 2 | Europa | 123 |
+----+----------+----------+
2 rows in set (0.00 sec)
數據庫中的值就是2
6、我們再插入一條手動指定主鍵值的數據:
mysql> insert into user values (4,'europa','123');
Query OK, 1 row affected (0.24 sec)
7、若按自動增長,即為3的。我們看下數據庫里的值:
mysql> select * from user;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
| 1 | admin | 300000 |
| 2 | Europa | 123 |
| 4 | europa | 123 |
+----+----------+----------+
3 rows in set (0.00 sec)
并非我們猜想的值,是手動設定的值4。
你可以繼續進行試驗,但你最終會發現,若自動增長的主鍵值,你手動設為null,數據庫會忽略掉null,按自動增長給值;若手動給其他合法的值,
就不會自動增長,按你給定的值給值。
因此可以得出結論:mysql中的主鍵自動增長時,他會先檢查插入的主鍵值是否合法,若不合法就報錯;再者檢驗插入的主鍵值是否為空,若為空,則
按自動增長賦值;再者,在插入數據時沒有給主鍵設值,也會自動增長賦值。
上述內容就是mysql中怎么實現主鍵自動增長,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。