Maison >base de données >tutoriel mysql >Comment ajouter des contraintes de clé primaire lors de la modification d'une table dans MySQL ?
Dans MySQL, vous pouvez utiliser l'instruction "ALTER TABLE table name ADD PRIMARY KEY (field name);" pour ajouter des contraintes de clé primaire lors de la modification de la table de données, vous devez définir la clé primaire ; contrainte de clé d'un champ de la table, assurez-vous que les valeurs des champs définis comme contraintes de clé primaire ne peuvent pas avoir de doublons et doivent être non nulles.
(Tutoriel recommandé : Tutoriel vidéo MySQL)
Le nom complet de la clé primaire (PRIMARY KEY) est « Contrainte de clé primaire » est la contrainte la plus fréquemment utilisée dans MySQL. Dans des circonstances normales, afin de permettre au SGBD de trouver plus rapidement les enregistrements dans la table, une clé primaire sera définie dans la table.
Définissez les contraintes de clé primaire lors de la création de la table
Dans l'instruction CREATE TABLE, spécifiez la clé primaire via le mot-clé PRIMARY KEY.
Spécifiez la clé primaire lors de la définition du champ. Le format de syntaxe est le suivant :
<字段名> <数据类型> PRIMARY KEY [默认值]
Exemple
Créez la table de données tb_emp3 dans la base de données test_db, dont la clé primaire est id, instruction SQL et exécution Les résultats sont les suivants.
mysql> CREATE TABLE tb_emp3 -> ( -> id INT(11) PRIMARY KEY, -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT -> ); Query OK, 0 rows affected (0.37 sec) mysql> DESC tb_emp3; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(25) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
Ajouter des contraintes de clé primaire lors de la modification de la table
Des contraintes de clé primaire peuvent non seulement être créées lors de la création de la table, mais peuvent également être ajoutées lors de la modification de la table. Cependant, il convient de noter que les valeurs nulles ne sont pas autorisées dans les champs définis comme contraintes de clé primaire.
Le format de syntaxe pour ajouter une contrainte de clé primaire lors de la modification d'une table de données est le suivant :
ALTER TABLE <数据表名> ADD PRIMARY KEY(<字段名>);
Normalement, lorsque vous souhaitez définir la contrainte de clé primaire d'un champ dans la table lors d'une modification Dans le tableau, assurez-vous de définir Les valeurs dans les champs qui forment les contraintes de clé primaire ne peuvent pas avoir de doublons et doivent être non nulles. Sinon, la contrainte de clé primaire ne peut pas être définie.
Exemple
Affichez la structure de la table de données tb_emp2. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> DESC tb_emp2; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.14 sec)
Modifiez la table de données tb_emp2 et définissez l'identifiant du champ comme clé primaire. L'instruction SQL et les résultats d'exécution sont les suivants.
mysql> ALTER TABLE tb_emp2 -> ADD PRIMARY KEY(id); Query OK, 0 rows affected (0.94 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> DESC tb_emp2; +--------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+-------+ | id | int(11) | NO | PRI | NULL | | | name | varchar(30) | YES | | NULL | | | deptId | int(11) | YES | | NULL | | | salary | float | YES | | NULL | | +--------+-------------+------+-----+---------+-------+ 4 rows in set (0.12 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!