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

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

Marsh Posté le 29-05-2010 à 19:08:49    

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 ;)

Reply

Marsh Posté le 29-05-2010 à 19:08:49   

Reply

Marsh Posté le 29-05-2010 à 21:21:04    

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.
Reply

Marsh Posté le 31-05-2010 à 15:00:02    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed