2013-08-23 2 views
0

je suis en train de faire comme ceci:Troncature tables vides dans MySQL

mysql_query("IF(SELECT COUNT(*) FROM`messages`) = 0 { 
     ALTER TABLE `messages` AUTO_INCREMENT = 1 
    } 
    IF(SELECT COUNT(*) FROM`chats`) = 0 { 
     ALTER TABLE `chats` AUTO_INCREMENT = 1 
    } 
    IF((SELECT COUNT(*) FROM`messages`) = 0 && (SELECT COUNT(*) FROM`chats`)) { 
     ALTER TABLE `users` AUTO_INCREMENT = 1 
    }"); 

mais il est incorrect

i besoin de réinitialiser A_i dans les messages si elle est vide, réinitialiser A_i dans les conversations si elle est vide et réinitialiser a_i utilisateurs si les messages et les chats est vide

j'ai id autoincrement et après troncature il commencera à compter de 1

avez-vous une idée?

i besoin d'une requête pour réinitialiser autoincrements en 3 tables en utilisant la logique que j'écris

+4

Vous souhaitez supprimer tout le contenu s'il n'y a pas de contenu ...?!? – deceze

+1

Votre table n'est-elle pas déjà vide s'il n'y a rien dedans? – JonathanRomer

+1

J'ai l'ID auto-incrémenté et après truncate il commencera à compter à partir de 1 – user2368299

Répondre

0

Essayez celui-ci:

ALTER TABLE `table` AUTO_INCREMENT = 1 

Par ailleurs, vous avez un problème entre parenthèses, vous devez envelopper votre condition entre parenthèses.

IF ((SELECT COUNT(*) FROM`chats`) = 0) { 
0

Que diriez-vous mettre en php if:

$res1 = mysql_query("SELECT count(*) AS count FROM `messages`"); 

$row1 = mysql_fetch_object($res1); 

if ($row1->count == 0) { 
    mysql_query("ALTER TABLE `messages` AUTO_INCREMENT = 1"); 
} 

$res2 = mysql_query("SELECT count(*) AS count FROM `chats`"); 

$row2 = mysql_fetch_object($res2); 

if ($row2->count == 0) { 
    mysql_query("ALTER TABLE `chats` AUTO_INCREMENT = 1"); 
} 

if ($row1->count == 0 && $row2->count == 0) { 
    mysql_query("TRUNCATE TABLE `users`"); 
} 
+0

J'ai besoin d'une requête pour réinitialiser l'auto-incrément – user2368299

+0

Non, vous n'avez pas besoin de * 1 requête. Vous * voulez * 1 requête. En outre, vous utilisez l'extension mysql obsolète. Créez une procédure que vous appellerez, qui lancera 3 requêtes. –

Questions connexes