def insert(array):
connection=sqlite3.connect('images.db')
cursor=connection.cursor()
cnt=0
while cnt != len(array):
img = array[cnt]
print(array[cnt])
cursor.execute('INSERT INTO images VALUES(?)', (img))
cnt+= 1
connection.commit()
connection.close()
Saya tidak tahu mengapa ini memberi saya kesalahan, String aktual yang saya coba masukkan adalah panjangnya 74 karakter: "/ gifs / epic-fail-photos-there-i-fix-it-aww-man-the-the -tire-pressureures-low.gif "
Saya sudah mencoba str (array [cnt]) sebelum memasukkannya, tetapi masalah yang sama terjadi, database hanya memiliki satu kolom, yang merupakan nilai TEXT.
Saya sudah berjam-jam dan tidak tahu apa yang sedang terjadi.
%
Operator aktifstr
melakukan sihir semacam itu — ia memperlakukan tupel sebagai beberapa nilai, tetapi astr
(atau jenis lain yang dapat diubah) sebagai nilai tunggal. Tapi itu menyebabkan kebingungan jauh lebih sering daripada memecahkannya, itulah sebabnya hampir tidak ada yang lain dalam stdlib yang mencoba sihir semacam itu.%s
juga tidak disarankan untuk masalah keamanan - docs.python.org/3/library/sqlite3.htmlHanya butuh dua argumen.
Ini akan mengulangi "array" -Tujuan dan cocok? dalam sql-string.
(dengan pemeriksaan kewarasan untuk menghindari injeksi sql)
sumber