web-dev-qa-db-fra.com

code d'erreur 1292 valeur de date incorrecte mysql

J'ai une 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

Quand j'essaie d'exécuter cette requête:

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')

* Code d'erreur: 1292. Valeur de date incorrecte: '01 -05-2012 'pour la colonne' data_apertura 'à la ligne 1 *

Que dois-je changer? (J'ai essayé de changer la date du format de gg/mm/aaaa à gg-mm-aaaa, mais rien n'a changé)

12
FrancescoN

Insérer la date au format suivant yyyy-MM-dd exemple,

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', '2012-05-01', '2012-09-31', '06:30', '24:00', 80, 50, 25, 3, '43968083', '[email protected]', 'http://www.hcentrale.it/', 'Trento', 'TN')
10
John Woo

Avec mysql 5.7 , la date telle que 0000-00-00 00:00:00 n'est pas autorisée.

Si vous voulez l'autoriser, vous devez mettre à jour votre my.cnf like:

Sudo nano /etc/mysql/my.cnf

trouver

[mysqld]

Ajouter après:

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

Redémarrez le service mysql:

Sudo service mysql restart

Terminé!

42
Sinan Eldem

Il m'est arrivé de travailler dans localhost, sous Windows 10, avec WAMP , il s'avère que Wamp dispose d'une interface de configuration vraiment accessible pour modifier la configuration de MySQL. Vous devez simplement aller dans le panneau Wamp, puis dans MySQL, puis dans les paramètres et changer le mode en mode SQL: aucun (essentiellement en désactivant le mode strict). 

 enter image description here

0
bachstein

J'avais le même problème dans Workbench plus une requête d'insertion à partir d'une application C #. Dans mon cas, utiliser le format ISO résoud le problème 

string value = date.ToString("yyyy-MM-dd HH:mm:ss");
0
faheem khan