Maison  >  Article  >  base de données  >  Comment ajouter une clé primaire composite dans MySQL ?

Comment ajouter une clé primaire composite dans MySQL ?

青灯夜游
青灯夜游original
2019-05-14 15:00:4317673parcourir

Dans mysql, vous pouvez ajouter une clé primaire composite lors de la création d'une table. La règle de syntaxe est "PRIMARY KEY [champ 1, champ 2,..., champ n]", ce qui signifie que la clé primaire est utilisée. est composé de plusieurs champs.

Comment ajouter une clé primaire composite dans MySQL ?

La contrainte de clé primaire définit une clé primaire dans la table pour déterminer de manière unique l'identifiant de chaque ligne de données dans la table. La clé primaire peut être une certaine colonne du tableau ou une combinaison de plusieurs colonnes. Une clé primaire composée de plusieurs colonnes est appelée clé primaire composite.

Une clé primaire composite ne peut pas contenir de colonnes redondantes inutiles. Après suppression d'une colonne de la clé primaire composite, si la clé primaire composée des colonnes restantes satisfait toujours au principe d'unicité, alors la clé primaire composite est incorrecte. C'est le principe de minimisation.

Comment ajouter une clé primaire composite ?

Vous pouvez ajouter une clé primaire composite lors de la création d'une table. À ce stade, la clé primaire est composée de plusieurs champs. Les règles de syntaxe sont les suivantes :

PRIMARY KEY [字段1,字段2,…,字段n]

Exemple : Créez la table de données tb_emp, en supposant qu'il n'y a pas d'identifiant de clé primaire, afin d'identifier de manière unique un employé, le nom et l'ID dept peuvent être combinés comme clé primaire

mysql> CREATE TABLE tb_emp
    -> (
    -> name VARCHAR(25),
    -> deptId INT(11),
    -> salary FLOAT,
    -> PRIMARY KEY(id,deptId)
    -> );
Query OK, 0 rows affected (0.37 sec)
mysql> DESC tb_emp;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| name   | varchar(25) | NO   | PRI | NULL    |       |
| deptId | int(11)     | NO   | PRI | NULL    |       |
| salary | float       | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.14 sec)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn