Select*fromtest2;+------+--------+|ID |Name | +------+--------+|1 |Gaurav||NULL|Rahu"/> Select*fromtest2;+------+--------+|ID |Name | +------+--------+|1 |Gaurav||NULL|Rahu">

Maison  >  Article  >  base de données  >  Que se passe-t-il lorsque nous utilisons l'instruction ALTER TABLE pour appliquer une contrainte NOT NULL sur une colonne contenant des valeurs NULL ?

Que se passe-t-il lorsque nous utilisons l'instruction ALTER TABLE pour appliquer une contrainte NOT NULL sur une colonne contenant des valeurs NULL ?

WBOY
WBOYavant
2023-08-24 23:53:041244parcourir

当我们使用 ALTER TABLE 语句对包含 NULL 值的列应用 NOT NULL 约束时会发生什么?

Dans ce cas, MySQL renverra un message d'erreur indiquant que les données de la colonne sont tronquées. Voici un exemple pour le démontrer -

Exemple

Supposons que nous ayons une table "test2" où la ligne 2 contient la valeur NULL dans la colonne "ID". Maintenant, si nous essayons de déclarer l'ID de colonne comme NON NULL, MySQL renverra une erreur comme indiqué ci-dessous -

mysql> Select * from test2;
+------+--------+
| ID   | Name   |
+------+--------+
| 1    | Gaurav |
| NULL | Rahul  |
+------+--------+
2 rows in set (0.00 sec)
mysql> ALTER TABLE TEST2 MODIFY ID INT NOT NULL;
ERROR 1265 (01000): Data truncated for column 'ID' at row 2

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