代码之家  ›  专栏  ›  技术社区  ›  Davide Gualano

使用准备好的语句执行插入查询后获取自动增量id

  •  6
  • Davide Gualano  · 技术社区  · 15 年前

    如果我使用php和mysqli执行一个带有存储过程的insert查询 _
    mysqli->insert_id 似乎不起作用。

    4 回复  |  直到 15 年前
        1
  •  8
  •   gnarf    15 年前

    您确定上次执行的查询是插入查询吗?

    mysqli->insert_id 这似乎是正确的答案:

    返回值

    价值 AUTO_INCREMENT 已更新的字段 通过前面的查询。如果 以前没有对该数据库的查询 连接,或者如果查询没有 更新 价值

        2
  •  1
  •   PatrikAkerstrand    15 年前

    你可以试着做一个决定 query to MySql

    SELECT LAST_INSERT_ID()
    

    但不确定它是否适用于存储过程。

        3
  •  1
  •   dar7yl    15 年前

    可以在插入后将此语句添加到存储过程中:

       SET @saved_id = LAST_INSERT_ID()
    

    然后,在调用过程后执行此查询:

       SELECT @saved_id
    
        4
  •  0
  •   Robert Jay Mistry    11 年前

    mysqli->insert_id mysqli 表示您的数据库连接) 必须在插入后直接使用。如果在同一连接上运行其他查询 insert_id 返回0。