【发布时间】:2020-05-04 05:59:58
【问题描述】:
我有一个City 表:
name | id | pic
-----+----+-----
A | 1 | null
B | 2 | null
C | 3 | null
D | 4 | null
我想更新此表的pic 列,其中id 为2。我该怎么做?
我的代码是:
file = request.files['file']
saveFileToDB = "UPDATE [Db2].[dbo].[City] SET (pic) VALUES (?) WHERE id = 2"
CU.execute(saveFileToDB, (file.read()))
CU.commit()
错误信息:
pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]'('. (102) (SQLExecDirectW); [42000] [Microsoft][ ODBC SQL Server 驱动程序][SQL Server]无法准备语句。(8180)"
或:
saveFileToDB = "UPDATE [Db2].[dbo].[City] SET pic = Convert(Varbinary(max),'%s') WHERE id = 2"%file.read()
但它不起作用。
【问题讨论】:
-
UPDATE City Set pic = ? where id=2是 SQL 语法。 -
我不认为 any 数据库使用
SET (pic) VALUES (?)。标准语法为SET field=value,即SET Pic=?
标签: sql sql-server flask pyodbc insert-update