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

mysql kan ikke indsætte, fordi ingen standardværdi?

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

price decimal(6,2) NOT NULL,

Indstil prisen til null eller tildel en standardværdi

EDIT:

Dette er forårsaget af STRICT_TRANS_TABLES SQL-tilstand.

Åbn phpmyadmin og gå til More Tab og vælg Variables undermenu. Rul ned for at finde sql-tilstand. Rediger sql-tilstand og fjern STRICT_TRANS_TABLES Gem det.

ELLER

Du kan køre en SQL-forespørgsel i dit databasestyringsværktøj, såsom phpMyAdmin:

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

ELLER

Find den linje, der ser sådan ud i mysql conf-filen:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

Kommenter ovenfor, og genstart mysql-serveren



  1. MySQL:UNIK, men DEFAULT NULL - tilladt ved oprettelse af tabel. Mere end 1 NULL er tilladt at indsætte. Hvorfor?

  2. Hvordan finder man grænserne for grupper af sammenhængende sekventielle tal?

  3. Vælg forespørgsel med offset-grænse er for langsom

  4. Sådan deaktiverer du CDC på sæt af tabeller ELLER deaktiverer på alle tabeller i en database i SQL Server - SQL Server Tutorial