|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Get inside! Sample the range of functionality easily built with JMSL Library for Time Series Data Analysis, Heat Maps, Portfolio Optimization, Monte Carlo Simulation, Stock Price Charting and more. Download Now! |
|
#1
|
|||
|
|||
|
Storing BLOB in MySql DB
I was wondering if someone had an example of storing data in a BLOB field in mysql.
I want to archive emails from my email server. After extracting the header, to, from, msgid I would like to store the body of the email in a blob field. I am running in to a problem with the unprintable charaters interfering with the SQL statement. If you have a working example I would appreciate if you could post here. I think what I am looking for is something equivalent to PHP's stripquotes addquotes functions ... but maybe not ? |
|
#2
|
||||
|
||||
|
I havn't got an example for this one but i think you want a raw string which should escape the special chars i.e.
Code:
>>> 'blob \ \\blob\blob' 'blob \\ \\blob\x08lob' >>> r'blob \ \\blob\blob' 'blob \\ \\\\blob\\blob' Note: The diferance being raw strings have r at the start ![]() Think this is what you want, since theres no function called stripquotes or addquotes in PHP (or at least not on the website) i couldn't really look them up. Mark. |
|
#3
|
||||
|
||||
|
Depending on your version of MySQLdb, you can do this on newer versions:
Code:
sql = "INSERT INTO sometable (col1, col2) VALUES (%s, %s)" cursor.execute(sql, (val1, val2)) On older versions of MySQLdb, you have to use escape_string() to properly escape the string. Code:
sql = "INSERT INTO sometable (col1, col2) VALUES (%s, %s)" cursor.execute(sql, (MySQLdb.escape_string(val1), MySQLdb.escape_string(val2))
__________________
Up the Irons What Would Jimi Do? Smash amps. Burn guitar. Take the groupies home. "Death Before Dishonour, my Friends!!" - Bruce D ickinson, Iron Maiden Aug 20, 2005 @ OzzFest Down with Sharon Osbourne Puzzle of the Month solved by sizeablegrin, etienne141 and L7Sqr, superior C/C++ programmers of the month |
|
#4
|
||||
|
||||
|
So using raw strings you could have be done something like this... but since MySQLdb now escapes by default? This seems pretty pointless!
Code:
sql = "INSERT INTO table (col1, col2) VALUES (%r, %r)" cursor.execute(sql, (val1, val2)) Oh, you have unbalenced parenthesise in that last example scrop ![]() Mark. |
![]() |
| Viewing: Dev Shed Forums > Programming Languages > Python Programming > Storing BLOB in MySql DB |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|