【发布时间】:2021-05-03 15:39:17
【问题描述】:
有人可以向我解释一下这段代码有什么问题吗?我收到“参数类型不受支持”错误。不能将列表输入 cursor.executemany 吗?列的类型是浮点数而不是空值。
random_numbers = [
1,
2,
3,
]
cursor.executemany('INSERT INTO Table (Column) VALUES (?)', random_numbers)
【问题讨论】:
有人可以向我解释一下这段代码有什么问题吗?我收到“参数类型不受支持”错误。不能将列表输入 cursor.executemany 吗?列的类型是浮点数而不是空值。
random_numbers = [
1,
2,
3,
]
cursor.executemany('INSERT INTO Table (Column) VALUES (?)', random_numbers)
【问题讨论】:
cursor.executemany 的值必须是 元组的序列:
cursor.executemany('INSERT INTO Table (Column) VALUES (?)',
[(n,) for n in random_numbers])
这是cursor.execute 的逻辑扩展,需要一个tuple 作为values 参数。
【讨论】:
tuple(n) 仅在 n 是可迭代的情况下才有效。新版本应该可以工作。
import random random_numbers.clear() random_numbers = [] for i in range(1000): random_numbers.append((random.randint(10,25),)) cursor.executemany('INSERT INTO Pressure VALUES (?)', random_numbers) 我很高兴地说这也有效!