Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL #1364 - Le champ 'column_name' n'a pas de valeur par défaut - Impossible d'insérer dans la base de données

Il n'est pas enregistré dans la base de données car le champ 'column_name' (et peut-être d'autres) est coché comme "NOT NULL". Cela signifie que la valeur de ce champ doit être autre que NULL (NULL - pas de données du tout)

Marquer les champs comme non nuls est généralement un excellent moyen de s'assurer que certaines données seront toujours présentes dans le champ. Selon vos besoins, vous pouvez également le marquer comme NULL afin qu'il ne génère jamais d'erreur et qu'il soit enregistré dans la base de données sans qu'il soit nécessaire d'insérer quoi que ce soit dans un champ spécifié.

Cela signifie que vous avez 2 options :

  1. Marquez votre champ comme NULL (vérifiez d'abord si votre champ doit avoir une valeur ou non).

    ALTER TABLE `your_table` 
    CHANGE COLUMN `your_field` `your_field` VARCHAR(250) NULL;
    
  2. Ajoutez une valeur par défaut au champ afin que si aucune donnée n'est fournie lors de l'insertion, il mettra quelque chose que vous avez défini.Par exemple :

    ALTER TABLE `your_table` CHANGE COLUMN `your_field` `your_field` VARCHAR(250) NOT NULL DEFAULT 'some_default_value';
    

Et bien sûr, faites correspondre votre type de champ au champ que vous allez modifier.