Erro estranho no MYSQL que não ocorria na versão anterior [RESOLVIDO]

Boa noite amigos, hoje me deparei com um erro que não acontecia na versão anterior do MYSQL o erro e o seguinte, antes podia gravar um campo TIME vazio.
essa validação ocorreu depois que atualizei o MYSQL é ele não aceita mais grava vazio.
“MySQLConecta : Error executing query: Incorrect time value: ‘’ for column ‘COMOD_HR_SAIDA’ at row 1.”

Lembrando que esse campo já está como NULL.

Alguém ai já deparou com esse erro?

Puts, cara nunca vi esse erro mas posso ajudar.

O que vc esta tentando gravar qndo rola esse erro?
Consegue postar a estrutura da tabela (CREATE…)?

Vc migrou do MySQL 4 para o 5?

Amigo, o erro esta ocorrendo porque o valor passado para o campo possui formato diferente do esperado.

Veja o valor passado.

Amigos, estou passando o campo vazio “”
Outra coisa a atualização não foi do 4 pra o 5 Só foi a realese da 5.5.27 para 5.5.29
e o pior que ate campos Integer e Decimal, Ta dando erro.

olha a estrutura

CREATE  TABLE IF NOT EXISTS `iHotel`.`VEND_COMODATO` (

  `COMOD_PK` INT NOT NULL AUTO_INCREMENT ,

  `QUAR_PK` INT NULL ,

  `CLIE_PK` INT NULL ,

  `COMOD_DT_ENTRADA` DATE NULL ,

  `COMOD_PREVISAO_SAIDA` DATE NULL ,

  `COMOD_DT_SAIDA` DATE NULL ,

  `COMOD_HR_ENTRADA` TIME NULL ,

  `COMOD_HR_SAIDA` TIME NULL ,

  `COMOD_ESTADIA` INT NULL ,

  `COMOD_SITUACAO` VARCHAR(10) NULL COMMENT 'COMODATO;RESERVADO/FECHADO/CANCELADO' ,

  `COMOD_VALOR_DIARIA` DECIMAL(9,2) NULL DEFAULT 0 ,

  `COMOD_VALOR_ADIANTADO` DECIMAL(9,2) NULL DEFAULT 0 ,

  `COMOD_ACRESCIMO` DECIMAL(9,2) NULL DEFAULT 0 ,

  `COMOD_DESCONTO` DECIMAL(9,2) NULL DEFAULT 0 ,

  `COMOD_TOTAL` DECIMAL(9,2) NULL DEFAULT 0 ,

  `COMOD_SOBRE_VIAGEM` TEXT NULL ,

  `COMOD_OBS` TEXT NULL ,

  `COMOD_N_ADULTOS` INT NULL ,

  `COMOD_N_CRIANCAS` INT NULL ,

  `COMOD_REQUERIMENTOS` VARCHAR(250) NULL ,

  `COMOD_PK_TRANSF` INT NULL ,

  `COMOD_DATACADA` DATE NULL ,

  `COMOD_HORACADA` TIME NULL ,

  PRIMARY KEY (`COMOD_PK`) ,

  INDEX `PROD_INDEX_PADRAO` (`CLIE_PK` ASC, `COMOD_TOTAL` ASC) ,

  INDEX `fk_VEND_COMODATO_CDTR_CLIENTE1_idx` (`CLIE_PK` ASC) ,

  INDEX `fk_VEND_COMODATO_CDTR_QUARTO1_idx` (`QUAR_PK` ASC) ,

  CONSTRAINT `fk_VEND_COMODATO_CDTR_CLIENTE1`

    FOREIGN KEY (`CLIE_PK` )

    REFERENCES `iHotel`.`CDTR_CLIENTE` (`CLIE_PK` )

    ON DELETE NO ACTION

    ON UPDATE NO ACTION,

  CONSTRAINT `fk_VEND_COMODATO_CDTR_QUARTO1`

    FOREIGN KEY (`QUAR_PK` )

    REFERENCES `iHotel`.`CDTR_QUARTO` (`QUAR_PK` )

    ON DELETE NO ACTION

    ON UPDATE NO ACTION)

ENGINE = InnoDB;

[quote=Fabiano Abreu]
Amigo, o erro esta ocorrendo porque o valor passado para o campo possui formato diferente do esperado.

Veja o valor passado.[/quote]

Amigo olha com e gerado o sql.
Lembrando que isso funcionava na versão anterior. Grato pela força

Insert Into ihotel.vend_comodato (QUAR_PK, CLIE_PK, COMOD_DT_ENTRADA, COMOD_DT_SAIDA, COMOD_HR_ENTRADA,
COMOD_HR_SAIDA, COMOD_SITUACAO, COMOD_VALOR_DIARIA, COMOD_VALOR_ADIANTADO,
COMOD_SOBRE_VIAGEM, COMOD_OBS, COMOD_N_ADULTOS, COMOD_N_CRIANCAS,
COMOD_REQUERIMENTOS, COMOD_DATACADA, COMOD_HORACADA)
VALUES
(“1”, “1”, “2013-01-26”, “”, “19:55:08”, “”, “COMODATO”, “15.9”, “”,
“”, “”,“2”, “”, “”, “2013-01-26”, “19:55:18”)

Cara, se vc esta passando vazio ("") vai rolar erro de formatação.
Vazio ("") e nulo são diferentes.

O campo criado permite nulo, mas por ser TIME, ele deve obedecer a uma formatação (provavelmente “HH:mm:ss”).
Ao enviar vazio ("") vc n esta obedecendo a formatação.
Envie NULL, não vazio.

Existe uma forma de configurar o MySQL a fazer valores vazios("") se tornarem NULL.
Confesso que n lembro como fazer isso, mas uma pesquisa no Google deve matar fácil.

Na minha opinião a solução é simples, envie NULL, não vazio.
Tente ae.

[quote=BrunoFurtado]Cara, se vc esta passando vazio ("") vai rolar erro de formatação.
Vazio ("") e nulo são diferentes.

O campo criado permite nulo, mas por ser TIME, ele deve obedecer a uma formatação (provavelmente “HH:mm:ss”).
Ao enviar vazio ("") vc n esta obedecendo a formatação.
Envie NULL, não vazio.

Existe uma forma de configurar o MySQL a fazer valores vazios("") se tornarem NULL.
Confesso que n lembro como fazer isso, mas uma pesquisa no Google deve matar fácil.

Na minha opinião a solução é simples, envie NULL, não vazio.
Tente ae.[/quote]
Compreendo acabei de fazer esse teste e passei NULL ai rodou 100%, sobre a versão anterior talvez ele ficou configurado para ficar NULL quando vazio automaticamente.