1
resposta

ERRO AO INSERIR TABELAS

estou tentando aprender como inserir dados nas tabelas, usei esta tabela como exemplo:

CPF varchar(11) NOME varchar(30) ENDERECO1 varchar(150) ENDERECO2 varchar(150) BAIRRO varchar(50) CIDADE varchar(50) ESTADO varchar(50) CEP varchar(8) IDADE smallint SEXO varchar(1) LIMITE_CREDITO float VOLUME_COMPRA float PRIMEIRA_COMPRA bit(1)

mas ao inserir informaçoes com isto:

INSERT INTO tbcliente ( PF, NOME, ENDERECO1, ENDERECO2, BAIRRO, CIDADE, ESTADO, CEP, IDADE, SEXO, LIMITE_CREDITO, VOLUME_COMPRA, PRIMEIRA_COMPRA) VALUES ( '11111111111', 'AUGUSTO FEIO DA SILVA', 'rua dos cara', 'rua dos carabas', 'tarifa', 4.56, "RJ", "12345678", "100", "45", 3, 1);

ele retorna isto: Error Code: 1136. Column count doesn't match value count at row 1

1 resposta

Boa noite Davi!

Pelo que eu observei, existem dois possiveis erros no seu codigo:

1 - Quando voce chama o INSERT INTO, o nome da coluna CPF esta escrita "PF".

INSERT INTO tbcliente ( PF, NOME, ENDERECO1(...)

2 - Voce inseriu a coluna ENDERECO2 no INSERT INTO, porem em VALUES esse dado não foi inserido. Aqui eu imagino duas possiveis soluções:

i - Após o valor de ENDERECO1, insira um valor em branco como ' '. Talvez o NULL possa resolver também eu acredito.

INSERT INTO tbcliente ( PF, NOME, ENDERECO1, ENDERECO2, BAIRRO, CIDADE, ESTADO, CEP, IDADE, SEXO, LIMITE_CREDITO, VOLUME_COMPRA, PRIMEIRA_COMPRA) VALUES ( '11111111111', 'AUGUSTO FEIO DA SILVA', 'rua dos cara', ' ', 'rua dos carabas', 'tarifa', 4.56, "RJ", "12345678", "100", "45", 3, 1);

-- ou

INSERT INTO tbcliente ( PF, NOME, ENDERECO1, ENDERECO2, BAIRRO, CIDADE, ESTADO, CEP, IDADE, SEXO, LIMITE_CREDITO, VOLUME_COMPRA, PRIMEIRA_COMPRA) VALUES ( '11111111111', 'AUGUSTO FEIO DA SILVA', 'rua dos cara', NULL, 'rua dos carabas', 'tarifa', 4.56, "RJ", "12345678", "100", "45", 3, 1);

ii - Tente remover o nome da coluna ENDERECO2 do seu INSERT INTO.

INSERT INTO tbcliente ( PF, NOME, ENDERECO1, BAIRRO, CIDADE, ESTADO, CEP, IDADE, SEXO, LIMITE_CREDITO, VOLUME_COMPRA, PRIMEIRA_COMPRA) VALUES ( '11111111111', 'AUGUSTO FEIO DA SILVA', 'rua dos cara', 'rua dos carabas', 'tarifa', 4.56, "RJ", "12345678", "100", "45", 3, 1);

Obs: Comecei minha jornada SQL fazem 2 semanas; Estou sem o computador para poder testar a solução que eu sugeri.

Boa sorte e espero poder ter ajudado!