淘先锋技术网

首页 1 2 3 4 5 6 7

mysql 联合主键

联合主键:把两个列看成是一个整体,这个整体是不为空,唯一,不重复

1.创建表的同时创建联合主键

语法1

语法2

2.针对已经存在表,添加联合主键

mysql表中一个表中可以有多个主键吗?

主键只能有一个。

但是,如果你想用多个‘唯一索引’(unique index),是可以有多个的。

主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

所谓的一张表多个主键,我们称之为联合主键。

可以由多个列形成联合主键,但是主键只能有一个

mysql联合惟一键怎么设置

如果是对多个列增加 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

mysql表中一个表中可以有多个主键吗

数据库中的每张表只能有一个主键,不可能有多个主键。

主键的作用是保证数据的唯一性和完整性,同时通过主键检索表能够增加检索速度。

所谓的一张表多个主键,我们称之为联合主键。

注:联合主键:就是用多个字段一起作为一张表的主键。

创建联合主键:

1、GUI中同时选中多列,点击设置为主键。

2、sql语句将多列设置为主键:

方法一:在建表时就写出

Create Table 表名 (字段名1 Int Not Null,

                   字段名2 nvarchar(13) Not Null Primary Key (字段名1, 字段名2),

                    字段名3…………

                    字段名N………… )

方法二:在建表后更改

ALTER TABLE 表名 WITH NOCHECK ADD 

CONSTRAINT [PK_表名] PRIMARY KEY  NONCLUSTERED 

(

  [字段名1],

  [字段名2]

)

请问:在MYSQL中,怎么把两个列名同时作为主键?

直接在表里就可以建,把两列都选中,先设置都不为空,然后右建设为主建.如果想要查看建多主键的语句,可以把表手动建完后,再查看建表语句.

XAMPP中的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;

指定primary key 时用 PRIMARY KEY (`products_id`,`language_id`),这样就能指定联合主键了