Jump to content


Photo

Esquema Em Mysql Para Numero De Linhas


  • Faça o login para participar
3 replies to this topic

#1 yZarc

yZarc

    O Loco Meu !!

  • Usuários
  • 259 posts
  • Sexo:Não informado
  • Localidade:Sp/SP
  • Interesses:Programador php

Posted 31/10/2003, 11:52

meio complicado a ideia de se explicar,
mais to precisando da segunte ajuda,

tenho uma tabela, quero manter sempre os ultimos 50 registros nela, entao por ex, se eu adiciono um registro novo, precido deletar o mais antigo ou os mais antigos para que fique sempre 50, alguem tem alguma ideia pelomenos ai,
valews,
Hackers, you'll be free...

Community4Dev.org

Join us now and share de knowledge.


Comunidade para Desenvolvedores Livres...
Crie sem restrições e jogue fora as malditas licenças proprietárias...


em breve de volta....

#2 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 31/10/2003, 13:36

Vc percisa realmente DELETAR os registros mais velhos?

se vc precisa apenas mostrar os 50 mais novos, vc pode fazer seu select assim

select campo1, campo2, ... from tabela where campo=oquevcquer order by seucampodecontroleprasaberquaissaoosmaisvelhos DESC limit 50 ;


bom, ma se o que vc quer é apagar...

delete from tabela order by seucampodecontroleprasaberquaissaoosmaisvelhos DESC limit 51,10000000; //onde 100000000 é quantos registros serão apagados

bom, se vc vai fazer esse delete sempre depois de incluir 1 registro, entao sabemos que assim que vc incluir terão 51 registros na tabela e vc só precisa apagar o de numero 51:

delete from tabela order by seucampodecontroleprasaberquaissaoosmaisvelhos DESC limit 51,1;



mas lembre-se... deletar é um treco perigoso, a não ser que vc tenha certeza...

Edição feita por: Stormbringer, 31/10/2003, 13:41.

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#3 yZarc

yZarc

    O Loco Meu !!

  • Usuários
  • 259 posts
  • Sexo:Não informado
  • Localidade:Sp/SP
  • Interesses:Programador php

Posted 31/10/2003, 15:10

delete from tabela order by seucampodecontroleprasaberquaissaoosmaisvelhos DESC limit 51,10000000; //onde 100000000 é quantos registros serão apagados

é cara, a ideia é essa, mais ai ta errada a sintaxe, no caso,

DELETE FROM `pub_src_cnt_log_ref` ORDER BY `id` ASC LIMIT 51, 100
You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '100' at line 1

tava lendo o manual do mysql, e ele fala que precisa de uma condição pra deletar, no caso eu preciso especificar o where,


mas lembre-se... deletar é um treco perigoso, a não ser que vc tenha certeza...


to ligado, mais ai é tranquilo, isso é uma tabela de log, entao entra mais de 100 registros por hora ai, e nao precisa disso, somente mostrar os ultimos 50, mais ai pra nao ocupar espaco, é melhor deletar


to dando uma estudada aqui, mais ta complicado ainda, valew por enquanto, =]

Edição feita por: yzarc neet, 31/10/2003, 15:38.

Hackers, you'll be free...

Community4Dev.org

Join us now and share de knowledge.


Comunidade para Desenvolvedores Livres...
Crie sem restrições e jogue fora as malditas licenças proprietárias...


em breve de volta....

#4 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 31/10/2003, 16:52

rapaz... aqui rolou...

o delete nao necessita necessariamente(eta redundancia) do where.

sei que pode nao ter nada relacionado, mas tenta tirar o estaço entre 51,100;

ah cara, coloca 50,1; pra testar
pode ser que o registro 51 nao existindo, ele retorne o erro.. talvez retorne o erro se vc colocar um "range" maior que o numero de registros existentes, mas pode ser que eu esteja viajando tb, hehehe

ah, e a versao do mysql que uso é 4.0.15

abraços

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑





0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq