mysql - 尝试在 mysql 中使用重复键
问题描述
我有这个代码
<cfquery >
INSERT IGNORE INTO tblcustomers(CustomerCode,CustomerID,FirstName,LastName,lid,status)
VALUES(<cfqueryparam cfsqltype="varchar" value="#queryData.CustomerCode[currentRow]#">,
<cfqueryparam cfsqltype="integer" value="#queryData.customerID[currentRow]#">,
<cfqueryparam cfsqltype="varchar" value="#queryData.firstname[currentRow]#">,
<cfqueryparam cfsqltype="varchar" value="#queryData.lastname[currentRow]#">,
<cfqueryparam cfsqltype="integer" value="#queryData.LocationID[currentRow]#">,
<cfqueryparam cfsqltype="integer" value="#queryData.status[currentRow]#">
)
</cfquery>
尝试检查 customerID 是否存在,它应该更新,因为 customerID 是唯一的
任何线索我该怎么做
解决方案
如果记录已经存档,您需要告诉数据库该怎么做。
INSERT INTO tblcustomers(CustomerCode,CustomerID,FirstName,LastName,lid,status)
VALUES
(
<cfqueryparam cfsqltype="varchar" value="#queryData.CustomerCode[currentRow]#">,
<cfqueryparam cfsqltype="integer" value="#queryData.customerID[currentRow]#">,
<cfqueryparam cfsqltype="varchar" value="#queryData.firstname[currentRow]#">,
<cfqueryparam cfsqltype="varchar" value="#queryData.lastname[currentRow]#">,
<cfqueryparam cfsqltype="integer" value="#queryData.LocationID[currentRow]#">,
<cfqueryparam cfsqltype="integer" value="#queryData.status[currentRow]#">
)
ON DUPLICATE KEY UPDATE
CustomerCode = <cfqueryparam cfsqltype="varchar" value="#queryData.CustomerCode[currentRow]#">,
CustomerID = <cfqueryparam cfsqltype="integer" value="#queryData.customerID[currentRow]#">,
FirstName = <cfqueryparam cfsqltype="varchar" value="#queryData.firstname[currentRow]#">,
LastName = <cfqueryparam cfsqltype="varchar" value="#queryData.lastname[currentRow]#">,
lid = <cfqueryparam cfsqltype="integer" value="#queryData.LocationID[currentRow]#">,
status = <cfqueryparam cfsqltype="integer" value="#queryData.status[currentRow]#">
推荐阅读
- java - 一旦 Hashtable 对象分配给相同的 Enumeration 对象,索引就会失败
- c# - 动态创建 Webservice 的 datacontract
- angular - value 属性的属性绑定
- intellij-idea - IntelliJ IDEA - Enter 无法在 Search Everywhere 中打开文件
- javascript - 如何在 React JS 中设置环境变量..?
- grafana - 无法添加 influxdb 数据源 grafana - 网络错误:未定义(未定义)
- python - 如何使用 pycurl 解决这个 curl 调用?
- api - 生命周期 API 授权 - OutSystems
- kentico - Kentico ResHelper.GetString 返回错误的翻译
- php - GuzzleHTTP Post 请求正文包含查询