Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

campitchos

Inserindo dados ao BD

Recommended Posts

Boa tarde a todos.

Galera, estou com um problema na inserção de informações ao banco de dados.

Para evitar duplicação de dados, tive que setar como PK dois campos do BD: data e hora.

Essa inserção é feita atravez de um arquivo que é atualizado de 5 em 5 minutos, ou seja a cada 5 minutos tem-se novas linhas no arquivo.

Essa tarefa dever ser automatizada, portanto quando executo o arquivo.php ele le o arquivo e insere os dados no banco, porem 5 minutos depois eu tento executar o mesmo arquivo aparece: "Duplicate entry '2011-09-19-00:00:00' for key 'PRIMARY'".

 

Como faço para depois da primeira inserção, continuar inserindo(no caso creio que tenha que ser feito com update) as informações que tem nas novas linhas?

Imagino que eu deva usar update, mas não sei como.

 

 

Desde ja agradeço a todos.

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça com que o campo PK seja um campo DATETIME onde o valor default (Padrão no phpMyAdmin) será CURRENT_TIMESTAMP.

Assim a cada insert o campo tera um valor diferente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se não me engano, eu ja tentei usar o BD com uma PK apenas, assim como voce falou. Acredito que a configuração do arquivo não seja muito favoravel.

Consegui resolver meu problema usando o comando:

 

INSERT INTO nome_tabela (capo1,campo2,...,campon)

VALUES (valor1,valor2,...,valorn)

ON DUPLICATE KEY campo3=valor3,campo2=valor2,...,campon=valorn.

 

creio que os campos acima devem ser os depois das chaves primaria(no meu caso eram duas), foi a unica forma em que funcionou corretamente a inserção de dados.

 

valeu a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.