Вы, кажется, слишком увлечены truncate
, для вас случаи
hiscore:
the_date (DATE) | user_id(INT) | rank(INT)
и встроенный ключ на the_date, rank
вставка
set @pos=0;
insert into hiscore
select cur_date(), user_id, @pos:=@pos+1
from ...
Чтобы сохранить размер таблицы, вы, вероятно, можете удалять один раз в несколько месяцев
Или вы можете установить auto_increment на rank
create table hiscore
(
the_date date not null,
rank int(3) not null auto_increment,
user_id int(10) not null,
primary key (the_date, rank)
);
Итак, ранг автоматически увеличивается (что соответствует порядку убывания количества ежедневных постов)