閱讀149 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Mysql的聯合主鍵

mysql的聯合主鍵:用2個字段(或者多個字段,後麵具體都是用2個字段組合)來確定一條記錄,說明,這2個字段都不是唯一的,2個字段可以分別重複,這麼設置的好處,可以很直觀的看到某個重複字段的記錄條數。

在mysql當中我們經常認為主鍵隻能設置一個,那如果我們想設置兩個呢?如下圖:

CREATE TABLE `test` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date` varchar(25) DEFAULT NULL,
`sess_id` varchar(255) DEFAULT NULL,
`keyword` varchar(25) NOT NULL,
`url_n` varchar(3) DEFAULT NULL,
`s_n` varchar(3) DEFAULT NULL,
`select_url` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`,`keyword`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;

那這樣的話我們就創建了這個聯合主鍵id和keyword  。但是需要注意的是引擎必須是Myisam。這個是聯合主鍵的創建,那刪除呢?

刪除也是非常簡單隻要:

ALTER TABLE test DROP PRIMARY KEY ,ADD PRIMARY KEY (`id`);
如果你僅僅是刪除聯合主鍵會報錯:

ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key



最後更新:2017-06-22 12:31:51

  上一篇:go  《軟件工藝師:專業、務實、自豪》一第1章
  下一篇:go  阿裏雲全球首批MVP — 傅奎專訪