【发布时间】:2017-03-27 16:52:19
【问题描述】:
我正在尝试使用 python 将元组插入到 mysql 表中,但是元组被转换为 mysql 表中的列表。
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。
【问题讨论】:
-
请看这个问题和答案:stackoverflow.com/questions/15721363/…
-
这个问题与 Aerospike 无关。您存储 Aerospike 配置的事实只是间接的。我建议删除标签。如果 Aerospike 的 python 客户端拒绝使用列表而不是元组连接,则单独提出该问题。