Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL #1364 – Feld „column_name“ hat keinen Standardwert – Einfügen in DB nicht möglich

Es wird definitiv nicht in der Datenbank gespeichert, da das Feld 'column_name' (und vielleicht einige andere) als "NOT NULL" markiert ist. Das bedeutet, dass der Wert dieses Felds etwas anderes als NULL sein muss (NULL – überhaupt keine Daten)

Das Markieren von Feldern als nicht null ist normalerweise eine gute Möglichkeit, um sicherzustellen, dass einige Daten immer im Feld vorhanden sind. Abhängig von Ihren Anforderungen können Sie es auch als NULL markieren, damit es niemals einen Fehler ausgibt und in der DB gespeichert wird, ohne dass etwas in ein bestimmtes Feld eingefügt werden muss.

Das bedeutet, dass Sie zwei Möglichkeiten haben:

  1. Markieren Sie Ihr Feld als NULL (überprüfen Sie zuerst, ob Ihr Feld einen Wert haben muss oder nicht).

    ALTER TABLE `your_table` 
    CHANGE COLUMN `your_field` `your_field` VARCHAR(250) NULL;
    
  2. Fügen Sie dem Feld einen Standardwert hinzu, sodass, wenn beim Einfügen keine Daten bereitgestellt werden, etwas von Ihnen Definiertes eingefügt wird. Zum Beispiel:

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

Und passen Sie natürlich Ihren Feldtyp an das Feld an, das Sie ändern möchten.