sql >> Databasteknik >  >> RDS >> Mysql

mysql kan inte infoga eftersom inget standardvärde?

ERROR 1364 (HY000): Field 'price' doesn't have a default value

price decimal(6,2) NOT NULL,

Ställ in priset på null eller tilldela ett standardvärde

EDIT:

Detta orsakas av STRICT_TRANS_TABLES SQL-läge.

Öppna phpmyadmin och gå till More Tab och välj Variables undermeny. Scrolla ner för att hitta sql-läge. Redigera sql-läge och ta bort STRICT_TRANS_TABLES Spara den.

ELLER

Du kan köra en SQL-fråga i ditt databashanteringsverktyg, till exempel phpMyAdmin:

-- verify that the mode was previously set:
SELECT @@GLOBAL.sql_mode;
-- update mode:
SET @@GLOBAL.sql_mode= 'YOUR_VALUE';

ELLER

Hitta raden som ser ut så i mysql conf-filen:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Kommentera ovan och starta om mysql-servern



  1. Jämför PHP-databasabstraktionslager och CRUD-plugins

  2. Halloweenproblemet – del 4

  3. Hur kan SQL Workload Analysis hjälpa dig?

  4. Hur man spelar in sekventiella samlingar av poster i MySQL