我正在使用MySQL C API构建数据库客户端应用程序,我需要在INSERT语句中获取最后一个自动增量值,所以mysql_insert_id会这样做。
但是这个客户端是多线程的,代码如下:
mysql_query(conn,query_string); value = mysql_insert_id(conn);
我不知道它会返回什么,这个查询会自动生成id或其他内容。有线索吗?
提前致谢。
答案 0 :(得分:3)
根据documentation mysql_insert_id将返回当前连接上最后一次成功插入的ID。
因此,如果您对多个线程使用相同的连接,则它将不是线程安全的。