我正在尝试从 python 填充 MySQL 数据库中的 JSON 数据字段。我使用的是 MySQL 5.7.17,它支持 JSON 数据类型和 Python 2.7。我已在表中将 6 列定义为 JSON。这些字段之一已成功从 Insert 语句填充。我尝试使用失败的 UPDATE 语句填充剩余的 JSON 字段:
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler File "C:\Python27\lib\site-packages\MySQLdb\cursors.py", line 202, in execute raise errorclass, errorvalue self.errorhandler(self, exc, value) InterfaceError: (-1, 'error totally whack') File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 36, in defaulterrorhandler raise errorclass, errorvalue InterfaceError: (-1, 'error totally whack')
在所有情况下,数据都在我的 python 代码中定义为字典,然后将其转换为字符串,如下所示:
my_dict = populate_dictionary()
my_dict_as_string = json.dumps(my_dict)
还有人遇到过这种情况吗?也许是更新 MySQL 时的错误?我在插入时没有提供所有数据,否则我会尝试插入所有 JSON 数据。我也不想推迟插入,直到我拥有所有数据。
如果我将数据存储为 LONGBLOB,则一切正常,但我的 Django 前端无法读取数据。我的 Django 数据模型将这六个字段定义为 models.BinaryField()
最佳答案
我在尝试从 Python 2.7 和 sqlalchemy 填充 MySQL 表时遇到了同样的问题,但我能够通过在要向其中追加数据的表中创建主键来解决该问题。 尝试在 MySQL 表中添加另一个列 ID,并从 Python 创建填充该 ID 列的唯一整数序列。最后,将 JSON 数据和 ID 附加到 MySQL。 就我而言,创建主键后,我没有遇到任何其他完全错误
关于python - MySQL、JSON、Python、Django - 完全错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42696621/