Access双主键数据库更新问题(C++ ODBC连接场景)
双主键场景下的Access UPDATE语句写法
没问题,我来帮你搞定这个双主键的UPDATE语句!当你的表用Part Number和Revision作为联合主键时,只需要在WHERE子句里用AND同时指定这两个主键的条件,就能精准定位到要更新的唯一记录了。
正确的SQL语句应该是这样的:
UPDATE [MY_TABLE] SET [Type] = ?, [Value] = ?, [Rating] = ? WHERE [Part Number] = ? AND [Revision] = ?
几个关键点要注意:
- 因为字段名包含空格,一定要用方括号
[]把字段名括起来,避免Access解析出错 WHERE子句里必须同时匹配两个主键字段,毕竟联合主键的唯一性是由两个字段共同决定的,这样才能保证只更新你目标的那条记录- 绑定参数的时候,顺序要对应:先绑定
SET里的Type、Value、Rating三个参数,再绑定WHERE里的Part Number和Revision参数
举个实际参数绑定的逻辑示例:
你需要把对应的值按顺序传给这5个占位符:
- 新的
Type值 - 新的
Value值 - 新的
Rating值 - 要匹配的
Part Number值 - 要匹配的
Revision值
这样执行的话,就能准确更新到双主键对应的那条记录啦!
内容的提问来源于stack exchange,提问作者vg8open
相关产品推荐
相关产品推荐

