Autoincrement Mysql

3 respostas
charo

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?

Segue abaixo o código do insert

INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (Mamonas ao Vivo, 30,00, Cd gravado ao vivo em Brasilia, 1);

INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (Iron Maiden Rock Rio 2001, 40,00 , Cd gravado Rock Rio 2001, 1);

INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (Planet Hemp, 50,00, Cd Os cães ladram mas a caravana não para, 1);
INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (Mamonas ao Vivo, 50,00 , Dvd gravado ao vivo em Brasilia, 2);

INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (Iron Maiden Rock Rio 2001, 55,00 , Dvd gravado Rock Rio 2001, 2);

INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (Planet Hemp MTV, 60,00, Dvd gravado pela MTV ao vivo, 2);
INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (PES 2011, 100,00, Jogo de futebol Pro Evolution Soccer, 3);

INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (GTA San Andreas, 90,00, Jogo de gang, 3);

INSERT INTO produtos (nome, preco, descricao, categoria_id) VALUES (GTA IV, 90,00 , Jogo de gang, 3);

erros apresentados:

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 1, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 2, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 3, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 5, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 6, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 7, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 9, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 10, coluna 1

Código do erro 1136, estado do SQL 21S01: Column count doesn’t match value count at row 1
Linha 11, coluna 1

Execução finalizada após 0 s, 9 erro(s) encontrado.

3 Respostas

Eric_Yuzo

A vírgula é usada para separar os valores das colunas, por isso quando você passa “30,00”, o MySQL entende que são dois valores, 30 e 00. Então ocorre o erro, que diz o número de colunas não bate com o número de valores passados.

Para passar números reais, use o ponto como separador decimal (30.00).

charo

Eric Yuzo, obrigado! :smiley:

R

o autoincrement faz na criacao da tabela, por exemplo com php no php admin, vc poe lá o autoincrement, e pronto, se criar na ‘unha’, vc já determina na criacao ou agora alteracao da tabela, e aí nos comandos só ignora esta situacao, que é o caso do código por exemplo, que geralmente é autoincrement.

diga se ajudou.

Criado 30 de novembro de 2011
Ultima resposta 5 de dez. de 2011
Respostas 3
Participantes 3