问题描述
<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]#">