mysql非主鍵自增長
阿新 • • 發佈:2018-05-20
blog nta tro border 查看 code cnblogs ref font
結果如下:
如果把col1列設為鍵,就可以創建自增。
結果如下:
如果我們把id設為主鍵,仍然可以創建成功。
結果如下:
所以自增列必須是鍵,但不一定非是主鍵。但一張表能否有多個自增列?
答:一張表只能有一個自增列。
結果如下:
mysql並非只有主鍵才能自增長,而是設為鍵的列就可以設置自增長。
如下:1 2 3 4 |
CREATE TABLE t1 (
id INT,
col1 INT auto_increment NOT NULL
);
|
1 2 3 4 5 |
CREATE TABLE t1 (
id INT,
col1 INT auto_increment NOT NULL,
key(col1)
);
|
1 2 3 4 5 |
CREATE TABLE t2 (
id INT PRIMARY KEY,
col1 INT auto_increment NOT NULL,
key(col1)
);
|
1 2 3 4 5 |
CREATE TABLE t3 (
id INT PRIMARY KEY auto_increment,
col1 INT auto_increment NOT NULL,
key(col1)
);
|
得出的結論為:每張表只能設置一個字段為自增長字段,這個字段可以是主鍵,也可以不是主鍵,如果不是主鍵,則必須設置為一種“鍵(key)”
其實,主鍵(primary key)也是鍵(key)的一種,key還包括外鍵(foreign key)、唯一鍵(unique key)等,關於key的討論可以查看帖子http://www.cnblogs.com/tanzq/p/9064511.html
mysql非主鍵自增長