所以我要从一个API插入一些代码到我的SQL数据库中 为我获取一些数据。问题是“类型”和“值”的数量不同 它提供给我的数据范围是7-10。
我当前正在格式化包含我的SQL命令的字符串。我这样做之后 检查长度,然后根据需要更改字符串和格式 “值”的长度(与“类型”相同;每个“值”都有对应的类型)。
我是使用Python编码的新手,所以随时向我扔一些新东西 解决此问题的方法的想法,谢谢,这是我的代码:
if len(values) == 10:
cmd = """INSERT INTO children_test_2 ({}, {}, {}, {}, {}, {}, {}, {}, {})
VALUES ({}, {}, {}, {}, {}, {}, {}, {}, {});"""
cmd = cmd.format(types[0], types[1], types[2], types[3], types[4], types[5], types[6], types[7], types[8],
types[9], values[0], values[1], values[2], values[3], values[4], values[5], values[6],
values[7], values[8], values[9])
if len(values) == 9:
cmd = """INSERT INTO children_test_2 ({}, {}, {}, {}, {}, {}, {}, {}, {})
VALUES ({}, {}, {}, {}, {}, {}, {}, {}, {});"""
cmd = cmd.format(types[0], types[1], types[2], types[3], types[4], types[5], types[6], types[7], types[8],
values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8])
if len(values) == 8:
cmd = """INSERT INTO children_test_2 ({}, {}, {}, {}, {}, {}, {}, {})
VALUES ({}, {}, {}, {}, {}, {}, {}, {});"""
cmd = cmd.format(types[0], types[1], types[2], types[3], types[4], types[5], types[6], types[7],
values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7])
if len(values) == 7:
cmd = """INSERT INTO children_test_2 ({}, {}, {}, {}, {}, {}, {})
VALUES ({}, {}, {}, {}, {}, {}, {});"""
cmd = cmd.format(types[0], types[1], types[2], types[3], types[4], types[5], types[6],
values[0], values[1], values[2], values[3], values[4], values[5], values[6])
答案 0 :(得分:0)
cmd = ('INSERT INTO children_test_2 ' + ' VALUES '.join(['(' + ', '.join(['{}']*len(values)) + ')']*2) + ';').format(*(types + values))