Tenho um campo (ID) que é um compo com autoincremento no MySQL, na hora de fazer o insert passo todos os campos menos o campo de autoincremento, mas retorna erro. Alguém sabe como passar um insert no Java para uma tabela com campo com autoincremento?
quem cuida do auto-incremento é o mysql e não JAVA , posta seu INSERT e erro que está retornando
Talvez o campo não esteja realmente definido com o auto-incremento no MySQL… dá uma verificada
ou talvez o erro quer tá retornando não esteja relacionado a isso, manda o erro!
Estou tambem com um problema tenho uma coluna idvendas mas não está funcionando auto incremento
veja o erro “COLUMN COUNT DOESN’T MATCH VALUE COUNT AT ROW 1” o que faço.
Obrogado.
no seu metodo de gravação da sua classe coloque null no primeiro parametro do insert Ex. insert into cliente values(null,x,y,z);
o auto increment coloque como null que o mysql faz a parte dele.
Valeu obrigado
[quote=marcelo.garces]
o auto increment coloque como null que o mysql faz a parte dele.[/quote]
na verdade nao precisa colocar nada que é incrementado normalmente
Fala moçada…
Acredito que o rapaz estava fazendo um “insert into” sem definir os campos.
Assim, ele precisa definir o que vai em cada um…
Por exemplo:
// suponha uma tabela simples com um id e uma descricao
insert into TABELA values (0,"teste");
// Aqui nao foram especificados os campos que vao receber valores,
// entao a quantidade de valores tem que ser igual a quantidade de colunas.
// Desse jeito, se o id for auto increment, um 0 ou null precisa ser passado.
// Mas se especificarmos os campos...
insert into TABELA (descricao) values ("testando");
// omitimos o campo id, e o auto increment se vira..
Acho que eh mais ou menos assim…
Saudacoes!
obrigado pelas respostas:
Só que agora estou com outra dificuldade tenho um banco mysql com a coluna do tipo texto só que quando insiro
os dados de um textarea java da um tipo de erro, não sei o que fazer,ele só aceita uma unica linha, ai funciona .
pessoal desculpe muitas perguntas, e que sou aprediz na área.
Aprenda a colocar o seu código e os erros que estão dando pra podermos te ajudar…
O que pode estar acontecendo para você ter somente uma linha salva é que seu campo no banco pode ser um VARCHAR(40) por exemplo e você está empurrando nele mais do que o cabe… Enfim… acho que isso deveria dá um erro, mas posta aqui pra gente o tamanho do seu campo na Tabela e o tamanho do texto que quer inserir no seu campo de texto da tela…
Se houver algum erro, poste aqui por favor…
Abs e bons estudos []
Caso o problema seja o que o amigo adriano_si falou, o campo ser varchar, altere o tipo dele para, por exemplo, text.
Seria interessante, de qualquer forma, que voce poste o erro pra gente dar uma olhada.
Abraco.
StringTokenizer st = new StringTokenizer(",\"");
String nomeprod = VenderProdutos.ta3.getText();
nomeprod = st.nextToken();
nomeprod seria o texto que tento inserir no banco mysql com a coluna do tipo “mediuntext”
e este “VenderProdutos.ta3.getText();” é o campo de textarea java. simplesmente só captura o valor
do campo e tento inserir no banco.
e a mensagem é a seguinte “Data truncated for column” más se for para inserir apenas um nome
de apenas um produto ele funciona perfeito.
Cara coloque seus códigos entre as Tags {CODE}{/CODE} (no lugar de chaves Colchetes) Assim
StringTokenizer st = new StringTokenizer(",\"");
String nomeprod = VenderProdutos.ta3.getText();
nomeprod = st.nextToken();
Bom… diga qual texto você está tentando inserir… porque pelo jeito você está tentando passar uma lista de Nomes e cada um com um espaço imenso entre eles, isso pode estar estourando seu mediuntext…
Coloque o valor da String aqui ou faça um Print da sua tela com o valor que está dando erro…
Abs []
Pessoal boa noite venho aki responder para voces que, o campo textarea que eu quero enviar
para o banco é exatamente desta forma, lembrando que a tabela nomeproduto já é do tipo “MEDIUNTEXT”
“nomeproduto”
Arroz
feijao
cafe
milho
batata
batata-doce
amendoim-com-coco
cafe-com-rapadura
doce-com-queijo
sendo que estes produtos é similar do que eu quero enviar para o banco
gostaria que fosse para o banco pulando estas linhas, más se não for póssivel pode
ser em uma única linha , desde que depois seja póssivel fazer a formatação no aplicativo para visualizar deste jeito.
E tambem gostaria de perguntar se alguem tem aki a numeração do teclado para programação, pois já procurei na net
e nção achei do jeito que quero, exemplo: a tecla ENTER É = 10 OK.
Lembrando que gostamos de desafios.
Obrigado todos voces.
[quote=marcelo.garces]no seu metodo de gravação da sua classe coloque null no primeiro parametro do insert Ex. insert into cliente values(null,x,y,z);
o auto increment coloque como null que o mysql faz a parte dele.[/quote]
boa noite, hoje estava com o mesmo problema e essa resposta do forum foi a solução, valeu