簡體   English   中英

如何在ColdFusion和MySql數據庫中查找受INSERT INTO語句影響的行數?

[英]How to find number of rows affected by INSERT INTO statement in ColdFusion And MySql Database?

我在ColdFusion中有以下查詢:

<cfquery name="test" datasource="test">
    INSERT INTO test (id,name) VALUES (1,"santy"),(2,"raj"),(3,"nil")
</cfquery> 

我想查找受影響的行數。 有沒有辦法在ColdFusion中找到它?

<cftransaction>
    <cfquery name="test" datasource="test">
        INSERT INTO test (id,name) VALUES (1,"santy"),(2,"raj"),(3,"nil")
    </cfquery>
    <cfquery name="test1" datasource="test">
        SELECT ROW_COUNT() AS numberOfRowsAffected
    </cfquery>
</cftransaction>
<cfdump var="#test1.numberOfRowsAffected#">

要么

您可以在設置中進行更改,以允許多個sql語句使用一個cfquery。 要實現這一點,請按以下方式進行更改:

在ColdFusion Admin中,轉到“數據源”定義表單,並將“ allowMultiQueries = true”添加到“連接字符串”框中。 完成后,您可以在單個CFQUERY標記中傳遞多個分號分隔的查詢。 只需確保您使用CFQUERYPARAM來篩選SQL注入攻擊。

試試這個吧。

<cfquery datasource="test" result="myResult">
  INSERT INTO test (id,name) VALUES (1,"santy"),(2,"raj"),(3,"nil")
</cfquery>
<cfset getNumberOfRecords = listLen(#myResult.generated_key#)>
<cfdump var="#getNumberOfRecords#">

myResult.generated_key包含生成的id列表,因此我們可以在使用listLen()函數時找到已插入的行數。

使用result屬性,然后訪問resultrecordCount鍵。

<cfquery result="myResult" datasource="test">
  INSERT INTO test (id,name) VALUES (1,"santy"),(2,"raj"),(3,"nil")
</cfquery> 

<cfdump var="#myResult.recordCount#">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM