Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL #1364 - Il campo 'column_name' non ha un valore predefinito - Impossibile inserirlo nel DB

Non sta salvando definitivamente nel database perché il campo 'column_name' (e forse alcuni altri) è selezionato come "NON NULL". Significa che il valore di quel campo deve essere qualcosa di diverso da NULL (NULL - nessun dato affatto)

Contrassegnare i campi come non nulli è in genere un ottimo modo per garantire che alcuni dati siano sempre presenti nel campo. A seconda delle tue esigenze, puoi anche contrassegnarlo come NULL in modo che non genererà mai un errore e verrà salvato in DB senza che sia necessario inserire nulla in un campo specificato.

Significa che hai 2 opzioni:

  1. Contrassegna il tuo campo come NULL (prima controlla se il tuo campo deve avere un valore o meno).

    ALTER TABLE `your_table` 
    CHANGE COLUMN `your_field` `your_field` VARCHAR(250) NULL;
    
  2. Aggiungi un valore predefinito al campo, quindi se non vengono forniti dati durante l'inserimento, verrà inserito qualcosa che hai definito. Ad esempio:

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

E, naturalmente, abbina il tipo di campo al campo che intendi modificare.