Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

error code 1292 incorrect date value mysql

I have a table

`CREATE  TABLE IF NOT EXISTS `PROGETTO`.`ALBERGO` (  `ID` INT(11) NOT NULL COMMENT 'identificativo dell\' albergo' , `nome` VARCHAR(45) NULL COMMENT 'Il nome dell\'albergo' , `viale` VARCHAR(45) NULL COMMENT 'Il viale in cui si trova  ' , `num_civico` VARCHAR(5) NULL COMMENT 'Il numero civico che gli appartiene' , `data_apertura` DATE NULL COMMENT 'Data di inizio apertura (inizio stagione)' , `data_chiusura` DATE NULL COMMENT 'Data di chiusura (fine stagione)' , `orario_apertura` TIME NULL COMMENT 'Orario di apertura' , `orario_chiusura` TIME NULL COMMENT 'Orario di chiusura' , `posti_liberi` INT(11) NULL COMMENT 'Disponiblità posti liberi ' , `costo_intero` FLOAT NULL COMMENT 'Costo del prezzo intero' , `costo_ridotto` FLOAT NULL COMMENT 'Costo del prezzo ridotto' , `stelle` INT(11) NULL COMMENT 'Classificazione in base al criterio delle stelle' , `telefono` VARCHAR(15) NULL COMMENT 'Recapito telefonico' , `mail` VARCHAR(100) NULL COMMENT 'Recapito e-mail' , `web` VARCHAR(100) NULL COMMENT 'Sito Web relativo all\'ente' , 'Nome-paese` VARCHAR(45) NOT NULL COMMENT 'Identificativo del paese in cui si trova l\'albergo' , `Comune` CHAR(2) NOT NULL COMMENT 'Identificativo del comune in cui si trova l\'albergo' , PRIMARY KEY (`ID`) , INDEX `Nome-paese` (`Nome-paese` ASC) , INDEX `Comune` (`Comune` ASC) , CONSTRAINT `Nome-paese`   FOREIGN KEY (`Nome-paese` )   REFERENCES `PROGETTO`.`PAESE` (`Nome-paese` )   ON DELETE NO ACTION   ON UPDATE CASCADE, CONSTRAINT `Comune`   FOREIGN KEY (`Comune` )   REFERENCES `PROGETTO`.`PAESE` (`Comune` )   ON DELETE NO ACTION   ON UPDATE CASCADE) ENGINE = InnoDB 

When i try to run this query:

INSERT INTO `PROGETTO`.`ALBERGO`(`ID`, `nome`, `viale`, `num_civico`, `data_apertura`, `data_chiusura`, `orario_apertura`, `orario_chiusura`, `posti_liberi`, `costo_intero`, `costo_ridotto`, `stelle`, `telefono`, `mail`, `web`, `Nome-paese`, `Comune`)  VALUES(0, 'Hotel Centrale', 'Via Passo Rolle', '74', '01-05-2012', '31-09-2012', '06:30', '24:00', 80, 50, 25, 3, '43968083', '[email protected]', 'http://www.hcentrale.it/', 'Trento', 'TN') 

*Error Code: 1292. Incorrect date value: '01-05-2012' for column 'data_apertura' at row 1*

What have i to change? (i tried to change format's date from gg/mm/yyyy to gg-mm-yyyy, but nothing changed)

like image 568
FrancescoN Avatar asked Jan 31 '13 11:01

FrancescoN


People also ask

What is MySQL datetime format?

The DATETIME type is used for values that contain both date and time parts. MySQL retrieves and displays DATETIME values in ' YYYY-MM-DD hh:mm:ss ' format. The supported range is '1000-01-01 00:00:00' to '9999-12-31 23:59:59' . The TIMESTAMP data type is used for values that contain both date and time parts.


1 Answers

With mysql 5.7, date value like 0000-00-00 00:00:00 is not allowed.

If you want to allow it, you have to update your my.cnf like:

sudo nano /etc/mysql/my.cnf 

find

[mysqld] 

Add after:

sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 

Restart mysql service:

sudo service mysql restart 

Done!

like image 131
Sinan Eldem Avatar answered Sep 21 '22 23:09

Sinan Eldem