Ir para conteúdo
Fórum Script Brasil
  • 0

Mysql - MysqlDataTruncation


polska

Pergunta

Pessoal,

Estou dando continuidade a um projeto que está em PHP com BD MySql, utilizando para conexão, o ADOBD (http://phplens.com/lens/adodb/docs-adodb.htm)

O problema é o seguinte:

Na tabela tem uma coluna nome VARCHAR(10)

Ao efetuar o insert pela aplicação, em que o tamanho da string nome é maior que 10, não ocorre erro. simplesmente insere o valor "cortando" a string no 10º caracter.

No caso do exemplo abaixo, o que aparece no banco, na coluna nome é: "valormaior"

Por outro lado, ao efetuar o mesmo insert pelo squirrel, ocorre o erro:

Error: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'nome' at row 1, SQL State: 22001, Error Code: 0

O que eu queria é que esta exceção fosse retornada pela aplicação tb, através do trhow $e (Exception);

Como sou iniciante em PHP e MySql, não sei nem por onde começar a investigar o erro.

Alguém tem alguma sugestão?

Abaixo, seguem os códigos:

CREATE TABLE 'tb_categoriaproduto'
(
codigo INT UNSIGNED PRIMARY KEY not null,
nome VARCHAR(10)
);[/CODEBOX]

[CODEBOX] insert into tb_categoriaproduto (nome) values ('valormaiorque10')


public function salvar(CategoriaProduto $catProd) {
$query = "insert into tb_categoriaproduto ";
$query .= "(nome)";
$query .= " values (" ;
$query .= "'".$catProd->getDescricao()."')";

try {
parent::Connection()->Execute($query);
} catch (Exception $e) {
throw $e;
}
}
[/CODEBOX]

Desde já agradeço a ajuda.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Oi, 'polska'!

Esta funcionalidade de enviar mensagem de erro quando o string for maior que o campo, foi colocada na versão 5.x do MySQl.

Como não conheço o PHP e sua dúvida está em como exibir esta mensagem neste programa, vou transferir este tópico para a área de PHP.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...