首页 > 解决方案 > 我尝试在 Python 中将 blob 文件插入 MySQL 数据库,但不断收到 mysql.connector.errors.ProgrammingError: 1064 (42000)

问题描述

尝试将 blob 文件插入 MySQL 数据库时,出现错误。这是我的代码示例:

@pyqtSlot()
    def on_click(self):
        file_name = QFileDialog.getOpenFileName(self, 'Open File', 'c:\\', 'Image Files (*.png *.jpg *gif)')
        image_path = file_name[0]

        self.converttobinary(image_path)

    def converttobinary(self, filename):
        with open(filename, 'rb') as file:
            binarydata = file.read()

        mycursor.execute("INSERT INTO imagestore (imgg) VALUES(%s)" % (binarydata))

        mydb.commit()
        print("image file inserted succesfully")

但是,当我运行代码时,我不断得到:

mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;查看与您的 MariaDB 服务器版本相对应的手册,了解在 '\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\xd9\x00\x00\x01 附近使用的正确语法\x11\x08\x06\x00' 在第 1 行

标签: pythonsqlsyntaxblob

解决方案


引用列的值:

mycursor.execute("INSERT INTO imagestore (imgg) VALUES('%s')" % (binarydata))

推荐阅读