Soluções em Software



Desenvolvimento de Software
Sistemas WEB
Aplicativos Mobile
(app celulares e tablets)

Portais Blogs e Soluções WEB 2.0

Serviços de chat - Webnews Webconteúdo - Quiz - FAQ
Marketing Digital
Mídias sociais
Gestão de conteúdo
Portais de Comercio Eletrônicos
Lojas Virtuais

Gestão Eletrônica de Documentos



Digitalização de Documentos
Grandes Formatos
Guarda Documental
Workflows

Projetos On-Demand



Um projeto com a SUA cara.

O software se adapta as necessidades da sua empresa e não o contrário.



Soluções Tecnológicas
A CACTUS Tecnologia da Informação acredita na liberdade, em qualquer lugar e a qualquer momento, por isso fornece soluções inovadoras que realmente geram resultados nas corporações e na vida das pessoas.
Instagram
Facebook
Contato
BLOG

ATUALIZAR LINHA OU ISNERIR CASO NAO EXISTA NO MYSQL

04/10/2016 por Renato Dantas


A SITUAÇÃO ERA A SEGUINTE: PRECISAVA FAZER UM REGISTRO DE VISITAS DAS MATERIAS DO MOSSOROHOJE
PARA PODER FAZER UM RELATORIO DE NUMERO DE VISITA POR DIA, POR MES E ETC.

PARA ISSO CRIEI UMA TABELA CHAMADA historico CONTENDO APENAS O ID DA MATERIA, A DATA E O TOTAL DE VISITAS.

DEPOIS DISSO ENCONTREI NA INTERNET 2 FORMA DE RESOLVER O PROBLEMA. USANDO O "REPLACE" OU O "ON DUPLICATE KEY"

UM EXEMPLO DO COMANDO REPLACE SERIA:

$sql = "REPLACE into table (id, name, age) values(1, 'A', 19)";

PORÉM O QUE EU UTULIZEI FOI O OUTRO, QUE FICOU DA SEGUINTE FORMA

$sql = "INSERT INTO historico (hist_nb_materia,hist_tx_data,hist_tx_visitas) VALUES('$materia','$data','$visitas')
ON DUPLICATE KEY UPDATE hist_tx_visitas = hist_tx_visitas + $visitas";

COM ISSO O QUE O MYSQL FAZ É ATUALIZAR A LINHA, CASO EXISTE, OU INSERIR CASO NAO EXISTA. AGILIZANDO ASSIM O NOSSO TRABALHO
E DIMINUINDO O USO DO MYSQL PORQUE EVITA TER QUE FAZER UMA CONSULTA PARA VERIFICAR SE JÁ EXISTE CADA LINHA ANTES DE INSERIR.

LEMBRANDO QUE PARA ISSO FUNCIONAR A TABELA FICOU DA SEGUINTE FORMA
CREATE TABLE historico (
hist_nb_materia int(5),
hist_tx_visitas int(5),
hist_tx_data datetime,
);

E POR FINAL PRECISOU DO SEGUINTE COMANDO:
ALTER TABLE `historico` ADD UNIQUE `unique_key` ( `hist_nb_materia`,`hist_tx_data` )
esenyurt escort avcılar escort sisli escort kayasehir escort kurtkoy escort kartal escort pendik escort kurtkoy escort kartal escort izmit escort maltepe escort kadikoy escort pendik escort Böcek İlaçlama
hacklink panel wordpress tema meme büyültme operasyonu hacklink satışı elektronik sigara hacklink
TAGS