【问题标题】:error code 1292 incorrect date value mysql错误代码 1292 错误的日期值 mysql
【发布时间】:2013-01-15 12:28:02
【问题描述】:

我有一张桌子

`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

当我尝试运行此查询时:

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', 'info@hcentrale.it', 'http://www.hcentrale.it/', 'Trento', 'TN')

*错误代码:1292。日期值不正确:第 1 行的“data_apertura”列的“01-05-2012”*

我有什么要改变的? (我尝试将格式的日期从 gg/mm/yyyy 更改为 gg-mm-yyyy,但没有任何改变)

【问题讨论】:

标签: mysql mysql-workbench mysql-error-1292


【解决方案1】:

按以下格式插入日期yyyy-MM-dd 示例,

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', 'info@hcentrale.it', 'http://www.hcentrale.it/', 'Trento', 'TN')

【讨论】:

    【解决方案2】:

    使用 mysql 5.7,不允许像 0000-00-00 00:00:00 这样的日期值。

    如果你想允许它,你必须更新你的 my.cnf 像:

    sudo nano /etc/mysql/my.cnf
    

    找到

    [mysqld]
    

    在后面添加:

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

    重启mysql服务:

    sudo service mysql restart
    

    完成!

    【讨论】:

    • 对于 windows 是 my.ini
    • 谢谢你帮了我很多,尤其是当我使用新配置处理遗留代码时
    • 我不得不将该行添加到/etc/mysql/mysql.conf.d/mysqld.cnf。所以sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    【解决方案3】:

    我在 Workbench 和 C# 应用程序的插入查询中遇到了同样的问题。 在我的情况下,使用 ISO 格式解决问题

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

    【讨论】:

      【解决方案4】:

      我碰巧在 localhost 中工作,在 Windows 10 中使用WAMP,事实证明,Wamp 有一个真正可访问的配置界面来更改 MySQL 配置。您只需要进入 Wamp 面板,然后进入 MySQL,然后进入设置并将模式更改为 sql-mode: none。(基本上禁用严格模式)下图说明了这一点。

      【讨论】:

        【解决方案5】:

        更新。 “2019-08-00”形式的日期将触发相同的错误。添加行:

        [mysqld]
        
        sql_mode="NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
        

        to mysql.cnf 也解决了这个问题。现在插入格式错误的日期会为超出范围的值生成警告,但会插入数据。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-08-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-02-14
          • 1970-01-01
          • 2018-05-16
          相关资源
          最近更新 更多