Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试在mysql中使用onduplicate密钥_Mysql_Coldfusion_Lucee - Fatal编程技术网

尝试在mysql中使用onduplicate密钥

尝试在mysql中使用onduplicate密钥,mysql,coldfusion,lucee,Mysql,Coldfusion,Lucee,我有这个密码 <cfquery > INSERT IGNORE INTO tblcustomers(CustomerCode,CustomerID,FirstName,LastName,lid,status) VALUES(<cfqueryparam cfsqltype="varchar" value="#queryData.CustomerCode[currentRow]#">,

我有这个密码

<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>

将IGNORE插入TBL客户(客户代码、客户ID、姓氏、姓氏、lid、状态)
值(,
,
,
,
,
)
试图检查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]#">
插入TBL客户(客户代码、客户ID、名字、姓氏、lid、状态)
价值观
(
,
,
,
,
,
)
关于重复密钥更新
客户代码=,
CustomerID=,
名字=,
LastName=,
lid=,
状态=

如果记录已在文件中,您需要告诉数据库该怎么做

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]#">
插入TBL客户(客户代码、客户ID、名字、姓氏、lid、状态)
价值观
(
,
,
,
,
,
)
关于重复密钥更新
客户代码=,
CustomerID=,
名字=,
LastName=,
lid=,
状态=

我相信mySql有一个
upsert
命令。我可以在谷歌上查一查,但你也可以。第一次听说upsert,但我相信它适用于mysql 8.0.0。我在mysql 5.1上,我相信mysql有一个
upsert
命令。我可以在谷歌上查一下,但你也可以。第一次听说upsert,但我相信它是针对mysql 8.0.0的,我现在使用的是mysql 5.1