MySQL Alter table provoque une erreur: utilisation incorrecte de la valeur NULL

Ma table existante:

+-----------------+---------------+------+-----+---------+-------------------+ | Field | Type | Null | Key | Default | Extra | +-----------------+---------------+------+-----+---------+-------------------+ | creation_date | timestamp | YES | | NULL | 

Je voulais modifier la table comme ceci:

 ALTER TABLE enterprise MODIFY creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; 

Mais j’ai cette erreur:

ERROR 1138 (22004) à la ligne 7: utilisation incorrecte de la valeur NULL

Le problème ressemble à changer le Nullable qui était OUI à NOT NULL. Dois-je déposer la colonne et l’append ensuite?

Il semble qu’il y ait peu de lignes avec une valeur NULL. Mettez à jour toutes les valeurs NULL à une date par défaut dans cette colonne, puis essayez de faire une modification.

Essaye ça

 --update null value rows UPDATE enterprise SET creation_date = CURRENT_TIMESTAMP WHERE creation_date IS NULL; ALTER TABLE enterprise MODIFY creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; 

Vous ne pouvez pas utiliser cette requête tant que vous n’avez pas de valeurs NULL dans la colonne creation_date.

Mettez à jour votre colonne creation_date avec une date par défaut, puis modifiez la table.

Comme ça

 UPDATE enterprise SET creation_date = CURRENT_TIMESTAMP WHERE creation_date IS NULL; ALTER TABLE enterprise MODIFY creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;