Bonsoir,
J'espère que je fais cette demande au bon endroit.
Voilà : j'ai un site wiki, et une base de données mysql 4. Cette base ne peut dépasser 100Mo. Pour éviter de dépasser cette limite, j'ai envisagé de supprimer les historiques de toutes les pages, en conservant seulement la trace de la dernière modification de chaque page, ce qui devrait me permettre d'être tranquille pour longtemps. Pour cela j'ai trouvé ce qui suit, qui fonctionne parfaitement avec mysql 5, mais pas avec le 4.
DROP TABLE IF EXISTS temp_newest_rev;
CREATE TABLE temp_newest_rev
AS
(SELECT MAX(rev_id) AS rev_id
FROM revision
GROUP BY rev_page, rev_user);
DROP TABLE IF EXISTS temp_newest_text;
CREATE TABLE temp_newest_text
AS
(SELECT MAX(rev_text_id) AS rev_text_id
FROM revision
GROUP BY rev_page, rev_user);
DELETE
FROM text
WHERE old_id NOT IN (SELECT rev_text_id
FROM temp_newest_text);
DELETE
FROM revision
WHERE rev_id NOT IN (SELECT rev_id
FROM temp_newest_rev);
DELETE
FROM recentchanges
WHERE rc_id NOT IN (SELECT rev_id
FROM temp_newest_rev);
DROP TABLE temp_newest_rev;
DROP TABLE temp_newest_text;
Malheureusement pour moi, je ne connaîs à peu près rien à mysql, et je ne sais pas qu'elle serait l'équivalent pour que cela fonctionne avec mysql 4. J'ai bien pensé à déplacer la base vers mysql 5 sur mon pc pour la redéplacer ensuite vers mon site, mais certains fichiers font entre 15 et 40 Mo, ce qui est ingérable à mon niveau.
Si une personne compétente pouvait me rendre le service d'adapter le script (si ce n'est pas quelque chose de difficile quand on s'y connaît), elle me rendrait un tgrand service.
Merci d'avance.
Marc
Partager