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()."')";
Pergunta
polska
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:
Desde já agradeço a ajuda.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.