2017-07-13 5 views
0

J'ai la colonne suivante dans le tableau room Maintenant, je veux changer la définition de la colonne property_id de NULL à NOT NULL Comment puis-je faire requête suivante ne fonctionne pasComment changer par défaut Null à NOT NULL dans MySQL

ALTER TABLE `room` CHANGE `property_id` `property_id` bigint(20) NOT NULL; 

définition actuelle de la colonne est:

`property_id` bigint(20) DEFAULT NULL, 
+2

Avez-vous des lignes contenant 'NULL' avant de changer la définition de la table? – LONG

+0

Oui, il a, Dois-je supprimer ces lignes? – SFAH

+0

Oui avant de changer la condition de la colonne –

Répondre

0

Ma requête était parfaitement bien, La seule erreur est qu'il y a des lignes qui contiennent un enregistrement nul

0

Dans MySQL, vous pouvez réaliser ce que,

ALTER TABLE room MODIFY property_id bigint(20) not null; 
+1

Dans d'autres dbms, comme Oracle, il ne permettra pas vous modifiez une colonne non vide, mais mysql jette automatiquement les choses autour de vous lorsque vous modifiez les colonnes –

+1

@SFAH, mais vous avez gardé deux 'propriété_id' dans votre requête. Vérifiez une fois. –