系统错误:连接已被禁用

2024-04-26 23:19:50 发布

您现在位置:Python中文网/ 问答频道 /正文

这是一个非常模糊的错误,我似乎不能得到很多上下文,所以请问任何可能有助于澄清的问题。我会尽我所能给你更多的背景。在

我目前正在为mysql创建一大堆insert语句,使用逗号分隔的paratheses描述的值列表(即insert into table (a, b, c) values (1,2,3),(4,5,6),(7,8,9);),我正在创建1000个这样的元组,用''连接它们,并将它们插入一个语句中。在

问题是我在问题中发现了错误。在

我甚至在每次有新的insert语句时都要连接到DB。如果您愿意的话,我可以提供代码,但是它都被一个with语句遮住了。在

我看没有理由要断开与数据库的连接。。。。在

编辑:为什么不呢。这是密码。在for循环中:

with SQLConnection(DATASOURCES[SCHEDULEDB]) as db:
    db.execute_sql( command + ' ' + ','.join(block) + ';' )

几个定义:

^{pr2}$

Tags: 列表db错误withmysqltable语句元组
2条回答

结果发现,我试图插入数据库的一些值大于我为其分配的VarChar大小。例外情况不是很有启发性。最后,我检查以确保插入的每个值都小于分配给它的大小,如果不是,则引发一个异常。在

我不知道你为什么会得到这样的错误。也许这与创建非常长的SQL语句有关?不管怎样,你应该 始终使用参数化的SQL语句;避免手动组合SQL(带参数):

sql = 'INSERT INTO table (a,b,c) VALUES (%s,%s,%s)'
args = [(1,2,3),(4,5,6),(7,8,9)]
cursor.executemany( sql, args )

相关问题 更多 >