【问题标题】:Is mysql_insert_id thread safe?mysql_insert_id 线程安全吗?
【发布时间】:2009-11-27 11:58:43
【问题描述】:

我正在使用 MySQL C API 来构建一个 db 客户端应用程序,我需要在 INSERT 语句中获取最后一个自动递增的值,所以 mysql_insert_id 可以。

但是这个客户端是多线程的,一段代码是这样的:

mysql_query(conn, query_string); 值 = mysql_insert_id(conn);

我不知道它会返回什么,这个查询自动生成的 id 或其他东西。有什么线索吗?

提前致谢。

【问题讨论】:

    标签: mysql c


    【解决方案1】:

    根据documentation mysql_insert_id 将返回当前连接上最后一次成功插入的id。

    因此,如果您对多个线程使用相同的连接,它将不是线程安全的。

    【讨论】:

    • Ops,我搞砸了,我不能在那里设置锁:/
    猜你喜欢
    • 2018-03-20
    • 2020-04-15
    • 2011-07-04
    • 2014-04-26
    • 2012-11-30
    • 2010-12-30
    • 2013-03-12
    • 2021-08-03
    相关资源
    最近更新 更多