【问题标题】:How to insert data, If that data does not exist in database using coldfuison?如果使用冷融合的数据库中不存在该数据,如何插入数据?
【发布时间】:2016-02-15 16:01:37
【问题描述】:

我正在与 Coldfusion 合作。我是语言新手。

我的要求是仅在不存在记录的情况下将数据插入数据库。如果它确实存在于数据库中,我想抛出错误消息。

请帮助我如何做到这一点。

【问题讨论】:

  • 否决并投票结束,因为这个问题并不表示已为解决问题做出任何努力,并且与this closed question非常相似。

标签: coldfusion


【解决方案1】:
<cfquery name="qGetRecord" datasource="yourSorce"> 
    <!--- Your SELECT Query for finding the data--->
</cfquery> 

<cfif qGetRecord.recordCount EQ 0>
    <!--- Your INSERT Query --->
<cfelse>
    <!--- Show eroor message --->
</cfif>

逻辑是,首先我们将尝试获取所需的数据。 Recordcount函数用于查找是否有匹配记录。
如果匹配记录不存在,那么我们可以插入 else 显示错误消息。

根据建议使用 cftransaction 更新答案

<cftransaction>
    <cftry>
        <cfquery name="qGetRecord" datasource="yourSorce"> 
            <!--- Your SELECT Query for finding the data--->
        </cfquery> 

        <cfif qGetRecord.recordCount EQ 0>
            <!--- Your INSERT Query --->
        <cfelse>
            <!--- Show eroor message --->
        </cfif>
        <cfcatch>
            <cftransaction action="rollback" />
        </cfcatch>
    </cftry>
</cftransaction> 

【讨论】:

  • 感谢回复
  • 最好将其包装在事务中
  • @TimJasko 我已根据您的建议更新了我的答案
  • CF 是多线程的,所以这仍然允许在繁忙的站点上重复。
  • @Leigh 有什么解决方案可以避免在繁忙的网站上重复吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-17
  • 2017-04-24
  • 2020-06-17
  • 1970-01-01
相关资源
最近更新 更多