简体   繁体   English

如何在ColdFusion和MySql数据库中查找受INSERT INTO语句影响的行数?

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

I have following query in ColdFusion: 我在ColdFusion中有以下查询:

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

I want to find number of affected rows count. 我想查找受影响的行数。 Is there any way to find this in ColdFusion? 有没有办法在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#">

Or 要么

You can make changes in the settings to allow multiple sql statements withing one cfquery. 您可以在设置中进行更改,以允许多个sql语句使用一个cfquery。 To make that happen, make changes as mentioned below: 要实现这一点,请按以下方式进行更改:

In ColdFusion Admin, go to your Data Source definition form and add allowMultiQueries=true to the Connection String box. 在ColdFusion Admin中,转到“数据源”定义表单,并将“ allowMultiQueries = true”添加到“连接字符串”框中。 Once you do that, you can pass multiple semi-colon separated queries in a single CFQUERY tag. 完成后,您可以在单个CFQUERY标记中传递多个分号分隔的查询。 Just make sure you're using CFQUERYPARAM to screen for SQL Injection Attacks. 只需确保您使用CFQUERYPARAM来筛选SQL注入攻击。

Try this one. 试试这个吧。

<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 contains the list of generated ids, so we can find how many rows have been inserted when we use listLen() function. myResult.generated_key包含生成的id列表,因此我们可以在使用listLen()函数时找到已插入的行数。

Use the result attribute and then access the recordCount key of the result. 使用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