[英]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.