Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
815 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [Debutant] Python + MYSQL Python, erreur syntaxe dans requette MYSQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Debutant] Python + MYSQL Python, erreur syntaxe dans requette MYSQL

n°1997083
tutule
Posté le 29-05-2010 à 19:08:49  profilanswer
 

Bonjour, je débute sur python et je n'arrive pas a me sortir d'un pétrin apres plus de 2H...
Je cherche a creer une fonction qui détruirais la table en question, si je laisse le nom statique de la table sa marche parfaitement, si je la passe en variable c'est le drame !
 
Le code suivant fonctionne a merveille, c'est le suivant qui me pose des problemes.
 

Code :
  1. import MySQLdb
  2. def delltable ():
  3.     mysql = MySQLdb.connect('localhost', 'scan-serv', 'test', 'servers')
  4.     cursor = mysql.cursor ()
  5.     cursor.execute ("TRUNCATE TABLE `test`" )


delltable() est bien réalisé je n'ai aucune probleme maintenant:
 

Code :
  1. import MySQLdb
  2. def delltable (table):
  3.     mysql = MySQLdb.connect('localhost', 'scan-serv', 'test', 'servers')
  4.     cursor = mysql.cursor ()
  5.     cursor.execute ("TRUNCATE TABLE %s", (table))


delltable("test" ) ne fonctionne absolument pas !
 

Citation :

Traceback (most recent call last):
  File "<pyshell#91>", line 1, in <module>
    delltable ("test" )
  File "F:\python\testmysql.py", line 5, in delltable
    cursor.execute ("TRUNCATE TABLE %s", (table))
  File "F:\python\lib\site-packages\MySQLdb\cursors.py", line 173, in execute
    self.errorhandler(self, exc, value)
  File "F:\python\lib\site-packages\MySQLdb\connections.py", line 35, in defaulterrorhandler
    raise errorclass(errorvalue)
ProgrammingError: (1064, "Erreur de syntaxe pr\xe8s de ''test'' \xe0 la ligne 1" )


Merci de m'aider ;)

mood
Publicité
Posté le 29-05-2010 à 19:08:49  profilanswer
 

n°1997143
Sve@r
Posté le 29-05-2010 à 21:21:04  profilanswer
 

tutule a écrit :


Code :
  1. cursor.execute ("TRUNCATE TABLE `test`" )


 

Code :
  1. cursor.execute ("TRUNCATE TABLE %s", (table))



 

Code :
  1. cursor.execute ("TRUNCATE TABLE `%s`" % table)


 

tutule a écrit :

apres plus de 2H...


2H connement perdues. C'est dommage...
 

tutule a écrit :

Je cherche a creer une fonction qui détruirais la table en question


Le truncate ne détruit pas une table. Pour la destruction, faut utiliser drop table. Mais là on est hors Python...


Message édité par Sve@r le 29-05-2010 à 21:27:47

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1997559
tutule
Posté le 31-05-2010 à 15:00:02  profilanswer
 

Oui elle détruit le content de la table, c'est bien ce que je voulais faire, je te remerci :).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [Debutant] Python + MYSQL Python, erreur syntaxe dans requette MYSQL

 

Sujets relatifs
[RESOLU][MySQL] requete toute simpleDébutant aide C++
Débutant en Java j'y arrive même pas à ça :( :( :([RESOLU] [MYSQL] Perte d'espace utilisé
INSERT dans mySQL avec Delphi (problème de backslash)questions très précises MySQL (gestion de cache et autres)
menu déroulant en AS / syntaxe listenerProblème avec Online.net / Mysql
[MySQL] Sous requete[RESOLU] mysql_query("UPDATE ce met à jour mais remplace au lieu...
Plus de sujets relatifs à : [Debutant] Python + MYSQL Python, erreur syntaxe dans requette MYSQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR