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

MySQL #1364 - Feltet 'column_name' har ikke en standardværdi - Kan ikke indsættes i DB

Det gemmer ikke i databasen, fordi feltet 'column_name' (og måske nogle andre) er markeret som "NOT NULL". Det betyder, at værdien af ​​dette felt skal være noget andet end NULL (NULL - ingen data overhovedet)

At markere felter som ikke null er normalt en god måde at sikre, at nogle data altid vil være til stede i feltet. Afhængigt af dine behov kan du også markere det som NULL, så det aldrig giver en fejl og gemmer i DB, uden at det er nødvendigt at indsætte noget i et specificeret felt.

Det betyder, at du har 2 muligheder:

  1. Marker dit felt som NULL (tjek først om dit felt skal have en eller anden værdi).

    ALTER TABLE `your_table` 
    CHANGE COLUMN `your_field` `your_field` VARCHAR(250) NULL;
    
  2. Tilføj en standardværdi til feltet, så hvis der ikke er angivet nogen data ved indsættelsen, vil det indsætte noget, du har defineret. For eksempel:

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

Og selvfølgelig skal du matche din felttype med det felt, du vil ændre.




  1. Konverter månedsnummer til månedsnavn i PostgreSQL

  2. MySQL hvordan får man værdi til at udløbe?

  3. Parse filnavn og sti fra fuld sti

  4. Sådan kalder du en lagret procedure i JDBC