DESCRIBEtest123;+-------+---------+----- - +-----+---------+-------+|Champ|Type|Null|Clé|Par défaut|Extra |+-------+-- - ------+------+-----+---------+"/> DESCRIBEtest123;+-------+---------+----- - +-----+---------+-------+|Champ|Type|Null|Clé|Par défaut|Extra |+-------+-- - ------+------+-----+---------+">

Maison  >  Article  >  base de données  >  Comment pouvons-nous supprimer la contrainte NOT NULL de la colonne de la table MySQL existante ?

Comment pouvons-nous supprimer la contrainte NOT NULL de la colonne de la table MySQL existante ?

WBOY
WBOYavant
2023-09-07 13:21:09703parcourir

我们如何从现有 MySQL 表的列中删除 NOT NULL 约束?

Nous pouvons utiliser l'instruction ALTER TABLE pour supprimer la contrainte NOT NULL d'une colonne d'une table existante.

Exemple

Supposons que nous ayons une table "test123" avec une contrainte NOT NULL sur la colonne "ID" comme suit -

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra    |
+-------+---------+------+-----+---------+-------+
| ID    | int(11) | NO   |     |   NULL  |       |
| Date  | date    | YES  |     |   NULL  |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.04 sec)

Maintenant, si nous voulons supprimer la contrainte NOT NULL, nous pouvons utiliser l'instruction ALTER TABLE comme indiqué ci-dessous -

mysql> ALTER TABLE test123 MODIFY ID INT NULL;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+------ +---------+------+-----+---------+-------+
| ID    | int(11) | YES  |     |   NULL  |       |
| Date  | date    | YES  |     |   NULL  |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.06 sec)

Le résultat ci-dessus montre que la contrainte NOT NULL sur la colonne "ID" a été supprimée.

Dans la requête ci-dessus, le mot-clé NULL après le mot-clé MODIFY est facultatif. La requête suivante produira également les mêmes résultats que ci-dessus -

mysql> ALTER TABLE test123 MODIFY ID INT;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer