gpt4 book ai didi

python - 绑定(bind) SQL 数量不正确

转载 作者:行者123 更新时间:2023-11-30 23:06:24 26 4
gpt4 key购买 nike

我正在生成 N 个 0-100 之间的随机数。 N 取决于 table_1 中的行数。有200行。我在返回的列表中得到 200 个随机数。

我正在尝试将列表中的这 200 个数字作为单独的行插入到 table_2 的 random_number 列中。随机数与 table_2 中的其他 3 列之间没有链接。

 r = [random.randint(0,100) for rows in cursor.execute('SELECT * FROM table_1')]
for r in rows:
cursor.execute('UPDATE table_2 SET random_number = (?)', r)

这就是我目前拥有的。我得到一个

ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 4 supplied

错误。我见过其他解决方案,他们在其中广告 (?, ) 但它不起作用。我也尝试过:

       r = [random.randint(0,100) for rows in cursor.execute('SELECT * FROM table_1')]
r = str(r)

cursor.execute('INSERT INTO table_2 (random_number) VALUES (?)', [','.join(r)])

它正在运行,但没有任何内容被插入到 random_number 列中。

最佳答案

我认为问题在于,当您在 for 循环中访问行时,行不再在范围内,也不是您想要迭代的列表。

如果我理解正确,那么你应该将你的脚本更改为如下所示:

# generate random list
r_list = [random.randint(0,100) for rows in cursor.execute('SELECT * FROM table_1')]

# iterate over that list and insert
for r in r_list:
cursor.execute('INSERT INTO table_2 (random_number) VALUES (?)', r)

关于python - 绑定(bind) SQL 数量不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32692875/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com