2009-08-18 9 views

Odpowiedz

14
thedata = open('thefile', 'rb').read() 
sql = "INSERT INTO sometable (theblobcolumn) VALUES (%s)" 
cursor.execute(sql, (thedata,)) 

Ten kod oczywiście działa jak napisane tylko, jeśli tabela ma tylko kolumny blob i co chcesz zrobić, to włożyć, ale oczywiście można łatwo dostosować go dodać więcej kolumn, użycie UPDATE zamiast INSERT lub cokolwiek innego, co dokładnie musisz zrobić.

Przyjmuję również, że twój plik jest raczej binarny niż tekstowy itp .; ponownie, jeśli moje przypuszczenia są nieprawidłowe, łatwo jest poprawić powyższy kod.

Jakiś SELECT na cursor.execute, potem jakiś ściągam z kursorem, to jak pobieraniu danych BLOB, dokładnie tak, jak je odzyskać innego rodzaju danych.

+0

Wygląda na to, że MySQL zaczął ostrzegać przed tego typu sytuacjami. Teraz należy użyć "... VALUES (** _ binary **% s)" – Wodin

0

Możesz wstawiać i odczytywać BLOBy z DB jak każdy inny typ kolumny. Z widoku API bazy danych nie ma nic szczególnego w BLOBach.

Powiązane problemy