的php:mysql_insert_id()问题

mysql db中处理INSERT查询后,php函数mysql_insert_id()是否可以返回任何结果?

只是为了澄清. cron在生产站点上执行了一个脚本.它包含一个为用户生成发票的周期.每次迭代都包含一个INSERT数据库查询和查询之后立即进行的mysql_insert_id()操作-提取生成的发票编号.执行了一组迭代,而没有获取最后插入的数字.

可能是由于数据库服务器负载过大或其他与PHP代码站点上的问题无关的原因引起的吗?

任何帮助,将不胜感激!

最佳答案
临时而言,我想到了MySQL无法返回ID的几种情况:

>您要插入的表没有AUTO_INCREMENTed主键.
>您一次要插入多行.
>您从与执行INSERT查询不同的连接调用mysql_insert_id().
> INSERT查询未成功(例如,遇到死锁).确保您正在检查mysql_query()的返回值,然后使用mysql_errno()和mysql_error().

MySQL文档有a full list of conditions and details on how this function works.

当然,MySQL中也可能存在错误,这取决于您使用的MySQL版本.

相关文章

在正式开始之前,我们先来看下 MySQL 服务器的配置和版本号信...
> [合辑地址:MySQL全面瓦解](https://www.cnblogs.c...
物理服务机的CPU、内存、存储设备、连接数等资源有限,某个时...
1 回顾 上一节我们详细讲解了如何对数据库进行分区操作,包括...
navicat查看某个表的所有字段的详细信息 navicat设计表只能一...
文章浏览阅读4.3k次。转载请把头部出处链接和尾部二维码一起...