mysql联合主键

-- 联合主键就是多个表的主键联合起来作为一个表的主键

-- 

--这个是摘抄的别人的

CREATE TABLE `products_description` (

   `products_id` int(11) NOT NULL,
   `language_id` int(11) NOT NULL default '1',
   `products_name` varchar(64) NOT NULL default '',
   `products_description` text,
   `products_short_description` text,
   `products_url` varchar(255) default NULL,
   `products_viewed` int(5) default '0',
   PRIMARY KEY   (`products_id`,`language_id`),
   KEY `products_name` (`products_name`)

) ENGINE=InnoDB DEFAULT CHARSET=latin1;


具体的意思就是`products_id`,`language_id` 这两个字段来共同作为表products_description的主键 

什么时候使用联合主键:

在一个主键不能唯一标识这个表中的记录的时候才使用联合主键  

--复合主键  

所谓的复合主键 就是指你表的主键含有一个以上的字段组成   不全是主键  比如一个表中name字段和id字段   像下边这样:

create table test 

   name varchar(19), 
   id number, 
   value varchar(10), 
   primary key (name,id) 

name跟id是复合组件


不懂咨询:qq群:539741306


你可能感兴趣的:(数据库)