🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27140

Re: Python i MySQL BLOB

#27140
From: Daniel Mróz
Date: Tue, 05 Jan 2010 18:15
32 lines
2446 bytes
On 05.01.2010, Jacek Czerwinski <x@y.z.pl> wrote:
>>>> pick = pickle.dumps("alamakota")
>>>> cur.execute("INSERT INTO test VALUES(10, %s, 3);", (pick,))
>>> A gdybym chciała zrobić coś w stylu:
>>>
>>> cur.execute("INSERT INTO %s VALUES(10, %s, 3);", (nazwa_tabeli,pick))
>>>
>>> to ten sposób znowu zawodzi i pojawia się błąd podobny do poprzedniego. 
>> cur.execute("""INSERT INTO %s VALUES(10, %%s, 3)""" % nazwa_tabeli, (pick,))
>> 
>> nie zadziała?
> Na dwoje babka wróżyła. W surowych SQL-ach odpowiednik czyli podać 
> argumenty i prepare bywa zakazane (podobno ze względu na niewykonalnośc 
> prepare). Ale tak sobie gadam.
Nie rozumiem o co chodzi w powyższej wypowiedzi (nie piłem jeszcze kawy), ale
na mój gust powinno to zadziałać, o ile "nazwa_tabeli" nie zawiera jakichś
śmiesznych znaków. "%" podstawi nazwę, zamieni "%%" na "%" i taki string poleci
do cur.execute(), które stanie przed zadaniem zamiany "%s" na zawartość "pick"
wedle swoich zasad.
Jeśli do "nazwa_tabeli" mogą przeniknąć jakieś kwiatki, to można wykorzystać
funkcję, która to naprawi/zepsuje, własnej twórczości, lub użyć tego co dostarcza
biblioteka sterownika bazy (jeśli dostarcza).


Pozdrawiam
Beorn

-- 
Daniel 'Beorn' Mróz <beorn@alpha.pl>    http://127.0.0.1/beorn
[GIT d s:- a-@ C++++ UL++++$ P+ L++++ E--- W+ N+++ o? K- w---]
[O- M- V!  PS+ PE++ Y+ PGP++ t- 5  X R !tv b+ DI D++ G++ e h*]
[                          r++  y+                           ]
Technical Details
Message-ID: <slrnhk70lt.6v8.beorn@pino.cyberdeck.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!not-for-mail
References: <hhvlil$cso$1@achot.icm.edu.pl> <e40b5499-a692-4d1d-bd6d-8dd80f5ae900@c3g2000yqd.googlegroups.com> <hhvp29$gld$1@achot.icm.edu.pl> <slrnhk6q4e.6d2.beorn@pino.cyberdeck.pl> <hhvrc6$6fe$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!not-for-mail
From: Daniel Mróz <beorn@alpha.pl>
Newsgroups: pl.comp.lang.python
Subject: Re: Python i MySQL BLOB
Date: Tue, 5 Jan 2010 18:15:18 +0000 (UTC)
Organization: A tak se walimy młotkami d:-/
Lines: 32
Message-ID: <slrnhk70lt.6v8.beorn@pino.cyberdeck.pl>
References: <hhvlil$cso$1@achot.icm.edu.pl> <e40b5499-a692-4d1d-bd6d-8dd80f5ae900@c3g2000yqd.googlegroups.com> <hhvp29$gld$1@achot.icm.edu.pl> <slrnhk6q4e.6d2.beorn@pino.cyberdeck.pl> <hhvrc6$6fe$1@news.onet.pl>
NNTP-Posting-Host: fw2.itvp.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1262715318 10472 217.17.39.4 (5 Jan 2010 18:15:18 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Tue, 5 Jan 2010 18:15:18 +0000 (UTC)
User-Agent: slrn/0.9.8.1pl2.1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit