-
1 # 使用者5559368854081
-
2 # 使用者4912889400776
AUTO_INCREMENT的是隨著你資料庫裡面資料項的增加而自動增加值的一個屬性,一般在像MYSQL這種資料庫裡,主鍵一般都是用ID號,比如學生的學號,公民的身份證號等,這種ID號是唯一的,是可以唯一標識資料庫裡面的一項資料的,而這種ID號並不需要自己動手去一個個輸入,直接透過設定AUTO_INCREMENT就可以從小到大自動生成了。
擴充套件資料:
如果希望在每次插入新記錄時,自動地建立主鍵欄位的值。可以在表中建立一個 auto-increment 欄位。MySQL 使用 AUTO_INCREMENT 關鍵字來執行 auto-increment 任務。預設地AUTO_INCREMENT 的開始值是 1,每條新記錄遞增 1。
主鍵又稱主關鍵字,主關鍵字(primary key)是表中的一個或多個欄位,它的值用於唯一地標識表中的某一條記錄。在兩個表的關係中,主關鍵字用來在一個表中引用來自於另一個表中的特定記錄。主關鍵字是一種唯一關鍵字,表定義的一部分。一個表的主鍵可以由多個關鍵字共同組成,並且主關鍵字的列不能包含空值。主關鍵字是可選的,並且可在 CREATE TABLE 或 ALTER TABLE 語句中定義。
-
3 # 使用者3128717186299
自增列
例子如下:
mysql> CREATE TABLE test_create_tab2 (
-> id INT AUTO_INCREMENT,
-> val VARCHAR(10),
-> PRIMARY KEY (id)
-> );
Query OK, 0 rows affected (0.09 sec)
mysql> INSERT INTO test_create_tab2(val) VALUES ("NO id");
Query OK, 1 row affected (0.03 sec)
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
mysql> INSERT INTO test_create_tab2(val) VALUES ("NO id 2");
Query OK, 1 row affected (0.03 sec)
mysql> select last_insert_id() as id;
+----+
| id |
+----+
| 2 |
+----+
1 row in set (0.00 sec)
mysql> select * from test_create_tab2;
+----+---------+
| id | val |
+----+---------+
| 1 | NO id |
| 2 | NO id 2 |
+----+---------+
2 rows in set (0.00 sec)
回覆列表
MySQL的中AUTO_INCREMENT型別的屬性用於為一個表中記錄自動生成ID功能. 可在一定程度上代替Oracle,PostgreSQL等資料庫中的sequence。 在資料庫應用,我們經常要用到唯一編號,以標識記錄。在MySQL中可透過資料列的AUTO_INCREMENT屬性來自動生成。 可在建表時可用“AUTO_INCREMENT=n”選項來指定一個自增的初始值。 可用alter table table_name AUTO_INCREMENT=n命令來重設自增的起始值。 當插入記錄時,如果為AUTO_INCREMENT資料列明確指定了一個數值,則會出現兩種情況, 情況一,如果插入的值與已有的編號重複,則會出現出錯資訊,因為AUTO_INCREMENT資料列的值必須是唯一的; 情況二,如果插入的值大於已編號的值,則會把該插入到資料列中,並使在下一個編號將從這個新值開始遞增。也就是說,可以跳過一些編號。 如果自增序列的最大值被刪除了,則在插入新記錄時,該值被重用。 如果用UPDATE命令更新自增列,如果列值與已有的值重複,則會出錯。如果大於已有值,則下一個編號從該值開始遞增。