mysql非主鍵自增長


mysql並非只有主鍵才能自增長,而是設為鍵的列就可以設置自增長。

如下:
1
2
3
4
CREATE TABLE t1 (
     id INT,
     col1 INT auto_increment NOT NULL
);
結果如下:
mysql非主鍵自增長 - 懷素真 - 因上努力 果上隨緣
 
 如果把col1列設為鍵,就可以創建自增。
1
2
3
4
5
CREATE TABLE t1 (
     id INT,
     col1 INT auto_increment NOT NULL,
     key(col1)
);
結果如下:
mysql非主鍵自增長 - 懷素真 - 因上努力 果上隨緣
 
 如果我們把id設為主鍵,仍然可以創建成功。
1
2
3
4
5
CREATE TABLE t2 (
     id INT PRIMARY KEY,
     col1 INT auto_increment NOT NULL,
     key(col1)
);
結果如下:
mysql非主鍵自增長 - 懷素真 - 因上努力 果上隨緣
 
所以自增列必須是鍵,但不一定非是主鍵。但一張表能否有多個自增列?
答:一張表只能有一個自增列
 
1
2
3
4
5
CREATE TABLE t3 (
     id INT PRIMARY KEY auto_increment,
     col1 INT auto_increment NOT NULL,
     key(col1)
);
結果如下:
mysql非主鍵自增長 - 懷素真 - 因上努力 果上隨緣
 
 
 

得出的結論為:每張表只能設置一個字段為自增長字段,這個字段可以是主鍵,也可以不是主鍵,如果不是主鍵,則必須設置為一種“鍵(key)”

 

其實,主鍵(primary key)也是鍵(key)的一種,key還包括外鍵(foreign key)、唯一鍵(unique key)等,關於key的討論可以查看帖子http://www.cnblogs.com/tanzq/p/9064511.html


免責聲明!

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



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