MySQL中在没有插入数据前获得下一个即将插入的id

有时候在往MySQL中插入一个用户数据时,他的信息可能和要插入的ID(Auto_increment)有关系,可是在数据生成之前我们又无法获得要插入的ID,这个时候有两种解决办法:

1、插入数据,再更新这条中要修改的数据

刚刚插入的一条数据的ID通过MySQL中 LAST_INSERT_ID()可以获得

如果之前没有插入数据的话,这个返回的值为0

我觉得这么做太麻烦了~所以有了第二种方式

2、使用MySQL的SHOW功能解决

show指令大家应该都不陌生,一般我们在终端下运行Mysql时,经常要show databases或者show tables,这条指令的意思也就是显示数据库中的某些信息,

要达到题目指定的功能,需要用

SHOW TABLE STATUS FROM 数据库名 LIKE "表名"

这条语句执行下来就得到一个表的所有信息了,其中有个Auto_increment字段,在PHP下,用mysql_fetch_array抓取一下,找到这个字段,这个字段保存的就是下一个要自动插入的ID了。

 

以上方式可以用在预测用户ID,在插入完成后核对预测是否正确上使用~我也就是这么用的,不知到是不是可行,求指教!

posted @ 2012-05-16 10:46  紫月冰河  阅读(673)  评论(0编辑  收藏  举报