[python] Vkladani listu do SQL prikazu
azurIt
azurit na pobox.sk
Čtvrtek Srpen 14 15:01:08 CEST 2008
je to trochu salamunske riesenie, ale napada ma toto (neskusal som, mozno sa tam objavi nejaky problem):
from string import join
cursor.execute("SELECT ....WHERE t.tagname IN (%s)", join(nejakylist, "','") )
tzn. urobis z toho listu nieco ako tag1','tag2','tag3 a toto nasledne hodis MySQLdb. ten by to tam mal vlozir ako 'tag1','tag2','tag3' (teda na zaciatok a na koniec prida ' )
-----Pôvodná správa-----
Od: slush [slush na centrum.cz]
Komu: "Konference PyCZ"
Predmet: [python] Vkladani listu do SQL prikazu
Zdravim vsechny,
nedavno se tu resilo, jakym zpusobem posilat promenne do SQL. Dostal jsem se k podobnemu problemu - totiz jakym zpusobem vkladat do SQL ne jednotlive retezce, ale cele listy. Uvedu priklad:
nejakylist = ['tag1', 'tag2']
cursor.execute("SELECT ....WHERE t.tagname IN (%s)''', nejakylist)
Toto samozrejme nefunguje, protoze zastupna promenna "%s" hleda v "nejakylist" pouze string, nikoliv list. Potreboval bych, aby se pole "nejakylist" do SQL vlozilo s nasledujici syntaxi:
SELECT ....WHERE t.tagname IN ("tag1","tag2")
Tady konkretne to resim v Djangu (from django.db import connection), ale myslim, ze to je dotaz i pro obecny Python.
Diky za kazde nakopnuti,
Marek
Další informace o konferenci Python