我试图使用pyodbc更新现有的MS数据库表,其中包含一个非常长的多行字符串。该字符串实际上是一个已被转换为字符串的csv。
我试图使用的更新表的查询如下:
query = """
UPDATE Stuff
SET Results = '{}'
WHERE AnalyteName =
'{}'
""".format(df, analytename)
完整打印的声明如下:
UPDATE Stuff
SET Results =
'col a,col b,col c,...,col z,
Row 1,a1,b1,c1,
...,...,...,...,
Row 3000,a3000,b3000,c3000'
WHERE AnalyteName = 'Serotonin'
但是,这似乎不起作用,我一直收到以下错误:
pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement. (-3503) (SQLExecDirectW)')
我认为这是由于我试图用csv字符串来更新表的格式。
我尝试过使用INSERT
并使用csv字符串和其他相关信息插入一个新行,这似乎是可行的。但是,我需要使用UPDATE
,因为我最终将向这些列中添加其他csv字符串。这使我相信存在A)我的UPDATE
查询的语法有问题(我对UPDATE
语法不熟悉),或者B)我在有关UPDATE
查询的文档中遗漏了一些东西。
执行这样的UPDATE
查询可能吗?如果是的话,我哪里出错了?
发布于 2022-09-12 21:45:18
它将由表的字段类型确定。对于大量的文本,您需要数据库表中的blob字段。blob字段将存储二进制信息,因此使用blob不会“看到”非法字符。
https://stackoverflow.com/questions/73695430
复制相似问题