直接在表里就可以建,把两列都选中,先设置都不为空,然后右建设为主建.如果想要查看建多主键的语句,可以把表手动建完后,再查看建表语句.
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都做网站、通河网络推广、微信小程序、通河网络营销、通河企业策划、通河品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供通河建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
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;
指定primary key 时用 PRIMARY KEY (`products_id`,`language_id`),这样就能指定联合主键了
如果是对多个列增加 UNIQUE 约束,通过 ADD UNIQUE KEY 处理。
mysql CREATE TABLE test_unique(
- id INT,
- name VARCHAR(10),
- value VARCHAR(10)
- );
Query OK, 0 rows affected (0.08 sec)
mysql ALTER TABLE test_unique
- ADD UNIQUE KEY(name, value);
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0 Warnings: 0
1.创建主键语法
ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名);
2.创建外键语法
ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ;
3.使用组合主键
如果一列不能唯一区分一个表里的记录时,可以考虑多个列组合起来达到区分表记录的唯一性,形式
①创建时:create table sc (
studentno int,
courseid int,
score int,
primary key (studentno,courseid) );
②修改时:alter table tb_name add primary key (字段1,字段2,字段3);
联合主键:把两个列看成是一个整体,这个整体是不为空,唯一,不重复
1.创建表的同时创建联合主键
语法1
语法2
2.针对已经存在表,添加联合主键