python:tuple在mysql插入查询中转换为list

时间:2017-03-27 16:52:20

标签: python mysql

我正在尝试使用python将元组插入到mysql表中,但是tuple会在mysql表中转换为list。

settings: {
      'AEROSPIKE_CONN_SETTINGS' : {
        'hosts': [ ('aerospike.qgraph-vpc.io', 3000) ],
        'policies': {
           'timeout': 3000
        }
      }
    }
db = MySQLdb.connect(host='localhost', user='test', passwd='abcd', db='testdb')
cursor = db.cursor(MySQLdb.cursors.DictCursor)
insert_query = '''INSERT INTO test_table (`settings`) VALUES ('{}')'''.format(json.dumps(settings))
cursor.execute(insert_query)
cursor.connection.commit()

执行上述代码后,数据以下列格式插入

settings:{ 
  "AEROSPIKE_CONN_SETTINGS": {
    "hosts": [["127.0.0.1", 3000]]
  }
}

它应采用以下格式

settings:{ 
  "AEROSPIKE_CONN_SETTINGS": {
    "hosts": [("127.0.0.1", 3000)]
  } 
}

有什么问题或者如何以预期的格式插入。我正在从其他python组件的mysql表中读取设置以连接到aerospike。

1 个答案:

答案 0 :(得分:2)

JSON中没有元组这样的东西。

但是请注意,从Python代码的角度来看,列表和元组之间存在没有实际差异。让它转换是没关系的。