tutule | 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 :
- import MySQLdb
- def delltable ():
- mysql = MySQLdb.connect('localhost', 'scan-serv', 'test', 'servers')
- cursor = mysql.cursor ()
- cursor.execute ("TRUNCATE TABLE `test`" )
|
delltable() est bien réalisé je n'ai aucune probleme maintenant:
Code :
- import MySQLdb
- def delltable (table):
- mysql = MySQLdb.connect('localhost', 'scan-serv', 'test', 'servers')
- cursor = mysql.cursor ()
- 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
|