10bet网址
MySQL 5.6 C API开发人员指南
本手册下载
PDF (Ltr)- 1.1 mb
PDF (A4)- 1.1 mb
HTML下载(TGZ)- 135.0 kb
HTML下载(邮政编码)- 144.7 kb


5.4.37 mysql_insert_id ()

my_ulonglong mysql_insert_id (MYSQL * MYSQL)

描述

对象生成的值AUTO_INCREMENT前一栏或者更新声明。执行。后使用此函数语句导入包含AUTO_INCREMENT田野,或已使用或者更新设置列值LAST_INSERT_ID (expr.)

的返回值mysql_insert_id()除非在下列条件之一下明确更新,否则总是零:

的返回值mysql_insert_id()可以简化为以下顺序:

  1. 如果有AUTO_INCREMENT列,并成功插入一个自动生成的值,返回第一个这样的值。

  2. 如果LAST_INSERT_ID (expr.)发生在语句中,returnexpr.,即使有AUTO_INCREMENT受影响表中的列。

  3. 返回值因使用的语句而异。当在声明:

    • 如果有AUTO_INCREMENT列,并且该列有一些显式值已成功插入到表中,返回最后一个显式值。

    当在插入……关于重复密钥更新声明:

    • 如果有AUTO_INCREMENT列在表中有一些显式的成功插入值或一些更新值,返回最后插入或更新的值。

mysql_insert_id()返回0如果前面的语句不使用AUTO_INCREMENT价值。如果您必须为以后保存该值,请确保调用mysql_insert_id()紧接生成值的语句之后。

的价值mysql_insert_id()仅受当前客户端连接中发出的语句的影响。它不受其他客户端发出的语句的影响。

LAST_INSERT_ID ()SQL函数将包含成功插入的第一个自动生成的值的值。LAST_INSERT_ID ()不会在语句之间重置,因为该函数的值在服务器中维护。另一个区别mysql_insert_id()是,LAST_INSERT_ID ()如果设置AUTO_INCREMENT列转换为特定的非特殊值。看到信息功能

mysql_insert_id()返回0调用语句,用于生成AUTO_INCREMENT因为在这种情况下mysql_insert_id()适用于调用而不是过程中的语句。在过程中,您可以使用LAST_INSERT_ID ()在SQL级别获取AUTO_INCREMENT价值。

两者差异的原因LAST_INSERT_ID ()mysql_insert_id()是,LAST_INSERT_ID ()在脚本中易于使用mysql_insert_id()试着提供更准确的信息AUTO_INCREMENT列。

返回值

在前面的讨论中描述的。

错误

一个也没有。