-
Script mysql 5 > mysql 4
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
-
Bonjour,
Il ne suffit pas de dire "ça ne fonctionne pas sous MySQL 4", encore faut-il un message d'erreur ou quelque chose qui nous indique quel est le problème exactement.
En l'occurrence je suppose qu'il s'agit des sous-requêtes ( DELETE FROM recentchanges WHERE rc_id NOT IN (SELECT rev_id FROM temp_newest_rev) ), tu trouveras un palliatif ici.
Dans tous les cas si tu n'y connais rien en SQL et que tu es amené à le manipuler, je te conseille d'investir dans une formation, un bouquin ou au moins de consulter des tutoriels comme celui-ci...