1
나는이 사이트를 인터넷 검색하고 검색했지만 구체적인 것은 나타나지 않으며이 기능을 사용할 수 없다. 여기 코드는 다음과 같습니다MySQLdb에 바이너리 데이터 저장하기 - 파이썬
binData = ''.join(map(lambda x: chr(x % 256), attach.attcoll))
sql_stmt = """INSERT INTO attachments (attno,filename,fileextension,projNo,procNo,wpattachment) \
VALUES ('%s','%s','%s','%s','%s','%s') ON DUPLICATE KEY UPDATE filename='%s',fileextension='%s'""", attach.attno,\
attach.filename,attach.fileextension,attach.projNo,attach.procNo,binData,attach.filename,attach.fileextension
try:
cursor.execute(MySQLdb.escape_string(sql_stmt))
conn.commit()
attach.attcoll는 클라이언트 측에서 SQLite는 BLOB 및 자바 코드에서 JSON을 통해 들어오는 데이터입니다. 그럼 MySQLdb와 MySQL에 binData를 쓰고 싶지만 계속 TypeError와 500의 리턴 코드를 얻고 싶습니다. 이것을 고치는 방법에 대한 아이디어. binlob을 MySQL blob에 저장하려고합니다. 여기 가지의
이
1. 연결 ... 2. 흥미로운 ... 3. 작은 따옴표가 없으면 실행되지 않습니다. 다시 시도 할 것입니다. 4. 그 이상으로 ... 질문은 '최적의 BLOB/이진 데이터 저장 방법'에 매우 구체적입니다. 스크립트에서 binData를 제거하면 연결되어 있습니다. 모두 작은 따옴표를 사용해도 올바르게 작동합니다. 다른 모든 요인들이 설명되기 때문에 혼자만의 질문입니다. 도움을 주시면 감사하겠습니다. – kirtcathey
확인 중입니다. 당신의 질문에 많은 잘못된 것이있어서 MySQLdb에 익숙하고 내가 생각할 수있는 모든 기반을 다룰 수 있기를 바랬다 –
나는 당신이 당신의 전체 쿼리를 탈출 할 때 어떻게 작동하는지 이해하지 못한다. 코드 sql_stmt는 문자열이 아니며, 튜플이며, MySQLdb.escape_string()은 튜플이 주어지면 예외를 발생시킵니다. –