我正在编写一个通过ODBC连接连接到Microsoft Access数据库的c ++应用程序。当我使用单个主键更新数据库时,我使用以下SQL命令:
UPDATE [MY_TABLE] SET [Type] = ?, [Value] = ?, [Rating] = ? WHERE [Part Number] = ?
我现在需要使用两个主键更新数据库中的记录,其中主键是部件号和修订版。我试过这个命令
UPDATE [MY_TABLE] SET [Type] = ?, [Value] = ?, [Rating] = ?, [Revision] = ? WHERE [Part Number] = ?
但如果零件编号字段中有重复,则会给我错误。我也试过
UPDATE [MY_TABLE] SET [Type] = ?, [Value] = ?, [Rating] = ? WHERE [Part Number] = ?, [Revision] = ?
但格式不正确。如何设置命令以使用两个主键更新数据库记录?
答案 0 :(得分:1)
在AND
子句中使用,
代替WHERE
。它不是你在那里使用的列表,它是一个布尔表达式。
UPDATE [MY_TABLE] SET [Type] = ?, [Value] = ?, [Rating] = ? WHERE [Part Number] = ? AND [Revision] = ?