在MySQL数据库中保存JSON订单数据的最佳方法

时间:2017-03-23 08:18:42

标签: mysql json pythonanywhere

以下是数据样本:

{'rate': 0.008999, 'stamp': {'bids': [[117090.0, 11.78362353], [117075.0, 0.28], [116918.0, 0.5],[116820.0, 32.0]], 'asks': [[117104.0, 0.55206666], [117105.0, 1.11], [117142.0, 4.99974999], [117178.0, 1.0], [117191.0, 0.0669], [117348.0, 0.01], [117369.0, 1.05]]}}

我想在PythonAnywhere上托管记录器。我是mysql的新手。从版本5.7.8开始,JSON对象被添加为pythonanywhere使用5.6.27。

我收到此错误: ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syn tax to use near 'JSON)' at line 1

所以我想将它存储为字符串VARCHAR。但是,您必须指定长度,这会因每个条目而异。那么我应该把长度设为65,535

3 个答案:

答案 0 :(得分:0)

通常Json在Mysql DB中存储为NVARCHAR

答案 1 :(得分:0)

  • 您可以尝试将VARCHAR更改为TEXT,因为固定的最大大小为2¹⁶-1 = 65535个字符。
  • 当您在查询中插入字符串时,在json中使用简单引号时将其包装成双引号“[JSON]”。

答案 2 :(得分:0)

  1. 您应该在5.7
  2. 之前在mysql中使用VARCHAR到TEXT类型
  3. 在mysql 5.7中,您有一个本机数据类型来存储json
    https://dev.mysql.com/doc/refman/5.7/en/json.html