是否可以使用执行 2 个插入或更新语句cfquery
?
如果是的话怎么办?
如果不是,在 Coldfusion 中执行多个查询的最佳方法是什么,即仅打开一个到数据库的连接。
我想每次我们打电话cfquery
我们正在打开新的连接数据库
是否可以执行2次插入或
使用 cfquery 更新语句?
很可能是的。但是是否可以运行多个语句取决于您的数据库类型和驱动程序/连接设置。例如,当您创建 MS SQL 数据源时,默认情况下允许 IIRC 多个语句。而 MySQL 驱动程序通常disable默认情况下有多个语句。那是为了帮助避免sql注入。因此,在这种情况下,您必须在连接设置中显式启用多个语句。否则,您不能使用多个语句。还有一些数据库(通常是桌面数据库,如 MS Access)根本不支持多语句。所以我认为这个问题没有一个笼统的答案。
如果两个插入/更新语句相关,那么您绝对应该按照 Sam 的建议使用 cftransaction。这确保了语句被视为一个单元:即它们要么全部成功,要么全部失败。因此,您不会留下部分或不一致的数据。为了实现这一点,事务中的两个查询将使用单个连接。
我想每次我们调用 cfquery 我们
正在打开新的连接数据库
正如 Sam 提到的,这取决于您的设置以及您是否使用 cftransaction。如果启用维护连接(在 CF 管理器中的数据源设置下),CF 将维护一个打开的连接池。因此,当您运行查询时,CF 只是从池中获取一个打开的连接,而不是每次都打开一个新连接。使用 cftransaction 时,所有查询都应使用相同的连接。无论是否启用维护连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)