[英]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
屬性,然后訪問result
的recordCount
鍵。
<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.