Mysql 創建聯合主鍵
2008年01月11日 星期五 下午 5:21
使用primary key (fieldlist)
比如:
create table mytable (
aa int,
bb char(8),
cc date,
primary key (aa,bb )
);
aa,bb為聯合主鍵
不知道是不是因為mysql(6.0)的版本問題,還是各版本都是這種情況,mysql中創建聯合主鍵,聯合主鍵列名之外不可以用單引號括上,否則出現錯誤,無法創建,報錯是該列在表中不存在。例子代碼如下:
CREATE TABLE `book_sort2` (
`sort_id2` varchar(20) NOT NULL,
`sort_id1` varchar(20) NOT NULL COMMENT '一類id',
`sort_name2` varchar(20) NOT NULL COMMENT '二類名稱',
PRIMARY KEY (sort_id2,sort_id1),
KEY `sort_id1` (`sort_id1`),
CONSTRAINT `book_sort2_fk` FOREIGN KEY (`sort_id1`) REFERENCES `book_sort1` (`sort_id1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;