2011-04-14 65 views
2

当PHP脚本每秒有数百次查询时会发生什么?它是否会影响这些函数,是否有保证它们会返回当前脚本中最后一个插入语句的最后一个插入的ID?它会返回当前脚本中最后一次选择的行数吗?如果有新的插入或同时从另一个脚本中选择(在FOUND_ROWS()的情况下)会怎么样?这是一个问题吗?MySQL LAST_INSERT_ID()和FOUND_ROWS()

回答

2

从文档: 对于LAST_INSERT_ID(),最近生成的ID被保存在服务器上的每个连接

这意味着,只要你不执行其他任何插入行在您的连接上,该值将保留供您检索。

对于FOUND_ROWS: 通过FOUND_ROWS()可用的行计数是暂时的,并且不打算在SELECT SQL_CALC_FOUND_ROWS语句之后的语句后可用。

这意味着您必须在调用SQL_CALC_FOUND_ROWS之后立即执行它。这似乎也是连接范围的,但文档中没有任何明确说明。