当PHP脚本每秒有数百个查询时会发生什么?它是否会影响这些函数,是否可以保证它们将从当前脚本中的最后一个insert语句返回最后一个插入的id?它会返回当前脚本中最后一个select的行数吗?如果同时有来自另一个脚本的新插入或选择(如果是FOUND_ROWS())怎么办?这是一个问题吗?
答案 0 :(得分:2)
来自文档: 对于LAST_INSERT_ID(),最近生成的ID在每个连接的基础上在服务器中维护
这意味着只要您不执行在连接上插入行的任何其他内容,就会保留该值以供您检索。
对于FOUND_ROWS: 通过FOUND_ROWS()可用的行计数是暂时的,并且不能在SELECT SQL_CALC_FOUND_ROWS语句之后的语句之后可用。
这意味着您必须在调用SQL_CALC_FOUND_ROWS后立即执行它。这似乎也是连接范围的,但文档中没有任何内容明确说明。