Créer une table temporaire

Parfois, il est préférable ou nécessaire de passer par une table temporaire pour insérer / mettre a jour des données.
Ca vous permet d’insérer les données et eventuellement de vérifier la table temporaire avant de permutter les 2 tables.
Par exemple, vérifier que votre table comporte au moins 10 éléments ou n’est pas vide.

//j'efface la table temporaire si elle existe :
$res=mysql_query("drop table if exists my_table_tmp");
if ($res==false) die("Erreur mysql ".mysql_error());
 
//je récupére la structure de la table maitre
$res=mysql_query("show create table my_table");
if ($res==false) die("Erreur mysql ".mysql_error());
$row=mysql_fetch_row($res);
$create=$row[1];
 
//je substitue le nom de ma table maitre pour créer ma table temporaire
$create=str_replace("my_table","my_table_tmp",$create);
//je crée ma table temporaire.
$res=mysql_query($create);
if (!$res) die("Erreur mysql ".mysql_error());

La requete utilisant RENAME TABLE est pratique pour ce cas :

RENAME TABLE my_table TO my_table_backup, my_table_tmp TO my_table;

en PHP ca donne :

//Je permutte les tables 
$res=mysql_query("RENAME TABLE my_table TO my_table_backup, my_table_tmp TO my_table");
if (!$res) die("Erreur mysql ".mysql_error());

Tags :

2 commentaires

je voudrais savoir comment fonctionner avec mysql de php

BOUBA ABBA
septembre 21st, 2007 at 14 h 59 min

je voudrais savoir comment créer une table temporaire

rekelmi
mars 31st, 2009 at 11 h 06 min

Laisser un commentaire

Name (required)

Mail (will not be published) (required)

Website

Commentaire