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;