[MySQL] Effacer la table XYZ si les tables XYZ et XYZ2 existent
7 réponses
Denis Beauregard
Bonjour,
J'ai une base avec 2 tables XYZ qui est la table habituelle et
XYZ2 qui est la nouvelle table que je viens d'ajouter à ma base.
Je voudrais effacer la table XYZ si XYZ et la table de remplacement
XYZ2 existent.
La commande suivante n'est pas bonne:
DROP TABLE `toto1` IF EXISTS `toto1` and EXISTS `toto2` ;
ni celles-ci:
IF EXISTS `toto2` THEN { DROP TABLE `toto1` IF EXISTS `toto1`; };
IF EXISTS `toto2` THEN ( DROP TABLE `toto1` IF EXISTS `toto1`; );
IF EXISTS `toto2` THEN DROP TABLE `toto1` IF EXISTS `toto1`;
Celle-ci efface les deux tables:
DROP TABLE `toto1` IF EXISTS `toto1`, EXISTS `toto2` ;
Denis
--
0 Denis Beauregard
/\/ www.francogene.com
|\ >>Adresse modifiée souvent/email changed frequently<<
/ | Société généalogique canadienne-française
oo oo Mon association a 60 ans en 2003 ! - www.sgcf.com
Le Mon, 07 Jun 2004 16:45:22 +0200, Thibaut Allender écrivait dans fr.comp.applications.sgbd:
on 7/06/2004 16:20, Denis Beauregard wrote :
You have an error in your SQL syntax near 'IF ((EXISTS 'toto1') AND (EXISTS 'toto2')) DROP TABLE 'toto1'' at line 1
je ne pense pas que ca soit possible IF EXISTS semble ne pouvoir etre associé qu'a drop, et ne concerne que la table qu'on veut dropper
J'ai fouillé dans la doc de mySQL sans rien trouver et personne sur ce forum n'a de solution qui fonctionne. C'est tout de même étrange vu que ma situation ne doit pas être si rare, soit de mettre à jour une table en la remplaçant par une table et en renommant cette dernière.
Il semble donc que ma seule solution soit d'interroger la table pour savoir si elle existe avant de la remplacer...
Denis
-- 0 Denis Beauregard // www.francogene.com | >>Adresse modifiée souvent/email changed frequently<< / | Société généalogique canadienne-française oo oo Mon association a 60 ans en 2003 ! - www.sgcf.com
Le Mon, 07 Jun 2004 16:45:22 +0200, Thibaut Allender
<use_contact_form_on_web_site@n.o.s.p.a.m.capsule.org> écrivait dans
fr.comp.applications.sgbd:
on 7/06/2004 16:20, Denis Beauregard wrote :
You have an error in your SQL syntax near 'IF ((EXISTS 'toto1') AND
(EXISTS 'toto2')) DROP TABLE 'toto1'' at line 1
je ne pense pas que ca soit possible
IF EXISTS semble ne pouvoir etre associé qu'a drop, et ne concerne que
la table qu'on veut dropper
J'ai fouillé dans la doc de mySQL sans rien trouver et personne sur
ce forum n'a de solution qui fonctionne. C'est tout de même étrange
vu que ma situation ne doit pas être si rare, soit de mettre à jour
une table en la remplaçant par une table et en renommant cette
dernière.
Il semble donc que ma seule solution soit d'interroger la table pour
savoir si elle existe avant de la remplacer...
Denis
--
0 Denis Beauregard
// www.francogene.com
| >>Adresse modifiée souvent/email changed frequently<<
/ | Société généalogique canadienne-française
oo oo Mon association a 60 ans en 2003 ! - www.sgcf.com
Le Mon, 07 Jun 2004 16:45:22 +0200, Thibaut Allender écrivait dans fr.comp.applications.sgbd:
on 7/06/2004 16:20, Denis Beauregard wrote :
You have an error in your SQL syntax near 'IF ((EXISTS 'toto1') AND (EXISTS 'toto2')) DROP TABLE 'toto1'' at line 1
je ne pense pas que ca soit possible IF EXISTS semble ne pouvoir etre associé qu'a drop, et ne concerne que la table qu'on veut dropper
J'ai fouillé dans la doc de mySQL sans rien trouver et personne sur ce forum n'a de solution qui fonctionne. C'est tout de même étrange vu que ma situation ne doit pas être si rare, soit de mettre à jour une table en la remplaçant par une table et en renommant cette dernière.
Il semble donc que ma seule solution soit d'interroger la table pour savoir si elle existe avant de la remplacer...
Denis
-- 0 Denis Beauregard // www.francogene.com | >>Adresse modifiée souvent/email changed frequently<< / | Société généalogique canadienne-française oo oo Mon association a 60 ans en 2003 ! - www.sgcf.com
thierry.rouillon
Denis Beauregard nous a gentiment écrit:
J'ai fouillé dans la doc de mySQL sans rien trouver et personne sur ce forum n'a de solution qui fonctionne. C'est tout de même étrange vu que ma situation ne doit pas être si rare, soit de mettre à jour une table en la remplaçant par une table et en renommant cette dernière.
Il semble donc que ma seule solution soit d'interroger la table pour savoir si elle existe avant de la remplacer...
Denis
En fait je fais la même chose que toi mais en php... en sql je n'ai jamais eu d'info. -- Thierry de Champagne... pour me repondre enlevez .nospam.
Denis Beauregard nous a gentiment écrit:
J'ai fouillé dans la doc de mySQL sans rien trouver et personne sur
ce forum n'a de solution qui fonctionne. C'est tout de même étrange
vu que ma situation ne doit pas être si rare, soit de mettre à jour
une table en la remplaçant par une table et en renommant cette
dernière.
Il semble donc que ma seule solution soit d'interroger la table pour
savoir si elle existe avant de la remplacer...
Denis
En fait je fais la même chose que toi mais en php... en sql je n'ai jamais
eu d'info.
--
Thierry de Champagne... pour me repondre enlevez .nospam.
J'ai fouillé dans la doc de mySQL sans rien trouver et personne sur ce forum n'a de solution qui fonctionne. C'est tout de même étrange vu que ma situation ne doit pas être si rare, soit de mettre à jour une table en la remplaçant par une table et en renommant cette dernière.
Il semble donc que ma seule solution soit d'interroger la table pour savoir si elle existe avant de la remplacer...
Denis
En fait je fais la même chose que toi mais en php... en sql je n'ai jamais eu d'info. -- Thierry de Champagne... pour me repondre enlevez .nospam.