我需要将列表和一些值插入表中
我尝试过多次执行,但是没有用。
list1=['a','b','c','d','e',['f','g','h','i']]
query="insert into "+metadata_table_name+"(created_by,Created_on,File_Path,Category,File_name,Fields) values(%s,%s,%s,%s,%s,%s)" # inserting the new record
cursor.executemany(query,list1)
列表应输入到最后一个(文件)列
请帮助我。
谢谢。
答案 0 :(得分:0)
您必须考虑数据类型。 MySQL是否有适合python嵌套列表的数据类型?我不知道这种类型。 一种可能的解决方案是使用JSON编码并将列表作为字符串存储在MySQL表中。将列表的最后一个元素编码为JSON字符串:
import json
list1=['a','b','c','d','e',['f','g','h','i']]
query_params = list1[0:-1] + [json.dumps(list1[:-1])]
query="insert into "+metadata_table_name+" .(created_by,Created_on,File_Path,Category,File_name,Fields) values(%s,%s,%s,%s,%s,%s)" # inserting the new record
cursor.executemany(query, query_params)
为了以后使用存储的数据,您必须将JSON字符串转换回列表:
fields_list = json.loads(fields_str)