Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17548
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Apagar registro antigo do bd ao atingir o limite de linhas

16-04-2015 20:46

Nesse post mostro um script que deleta os registros mais antigos do banco de dados MySQL quando a tabela alcançar um limite de linhas cadastradas.
Por exemplo, eu quero meu banco de dados com somente 5 linhas. Se por acaso tiver um novo registro a linha mais antiga é deletada para a entrada da nova linha.

Vamos supor que eu tenha a seguinte situação:

id - nome
1 - pedro
2 - maria
3 - joão
4 - maria
5 - ana


Vamos supor que vai entrar mais um registro. Baseado pelo id, o registro mais antigo é o 1 - pedro.
Sendo assim, se entrar o marcelo a lista vai ficar a seguinte:

id - nome
2 - maria
3 - joão
4 - maria
5 - ana
6 - marcelo


Esse script é baseado em uma tabela com a coluna id que seja auto increment.

<?php include("conecta.php"); $query = mysql_query("SELECT * FROM suatabela"); if(mysql_num_rows($query) >= 5) { mysql_query("DELETE FROM suatabela ORDER BY id ASC LIMIT 1"); mysql_query("INSERT INTO suatabela (suacoluna) VALUES('novo nome')"); } else { mysql_query("INSERT INTO suatabela (suacoluna) VALUES('novo nome')"); } ?>

3
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado