Bonjour ,
actuellement en stage en entreprise, on me demande d'automatiser des mises à jour de BDD à partir d'une référente.
Le code si dessous crée effectivement bien les tables qui n'existe pas encore dans la BDD à mettre à jour, mais ne conserve pas le caractère d'auto_incrémentation des clefs.Ce qui est un problème.

Merci d'avance pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
function majTable($database)
	{
		mysql_select_db($database) ;
		$a = recupererListeTableFrom(REFERENCE_DB) ;
		$b = recupererListeTableFrom($database) ;
		$diff = array_diff($a,$b) ;
		foreach($diff as $value)
			mysql_query("CREATE TABLE ".$value." AS SELECT * FROM ".REFERENCE_DB.".".$value." WHERE 1=2") or die(mysql_error()) ;
	}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
	function recupererListeTableFrom($database)
	{
		$result = mysql_query("SHOW TABLES FROM $database") ;
		$a = array() ;
		while($r = mysql_fetch_array($result))
			array_push($a,$r[0]) ;
		return $a ;
	}