Ir para conteúdo

POWERED BY:

Arquivado

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

Robson Silva

INSERT com sintaxe do UPDATE é gambiarra?

Recommended Posts

Boa noite.

Estou melhorando a minha forma de programar.

Utilizo php e mysql em 90% dos projetos e estou montando uma classe de mysql para inserir e alterar dados do banco.

 

Na última versão do mysql foi adicionada uma nova sintaxe de insert, igual ao update

 

INSERT INTO tabela SET campo = valor

Minha dúvida é, será que eu utilizo essa sintaxe?

Ou é muita gambiarra?

Será que tem futuro fazer assim?

 

Se n tiver problema, ficará muito fácil, faço apenas uma função e passo por parametro se é um insert ou um update e a sintaxe será a mesma.

 

Espero a opinião de vcs.

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu preferiria o modo antigo, pois, se for uma inclusão, os campos que você não colocar no SET ficarão como NULL na sua tabela, do mesmo jeito que você poderia fazer assim INSERT INTO tabela (campo1,campo2) VALUE("valor1","valor2"). Os outros campos, por exemplo campo3, campo4 etc, ficará como NULL.

 

Outro problema que eu vejo é que, se a sua tabela for muito grande você terá uma query grande pois terá que fazer campo1=valor1, campo2=valor2, ..., campox=valorx

 

 

Outra coisa, se sua tabela tem chave primaria você pode usar o REPLACE no lugar do INSERT. Com o REPLACE se a chave existir ele altera, caso contrário insere. Como 99,9% das minhas tabelas têm chave primária, eu uso o REPLACE, cuja estrtura é igual ao INSERT. Com o REPLACE fica muito mais fácil desenvolver uma função e/ou classe para fazer suas manutenções no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cada um com seu cada um...

 

com set realmente eh mais facil, mas como nao eh padrao, pode te causar problemas futuros caso você tenha q mudar de banco e ter q reescrever as consultas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

também achei mais simples assim mas como o giesta disse qualquer mudança lhe causará um grande trabalho de atualização

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.