星期一, 九月 10, 2007

PHP得到Mysql的id字段

很多数据库表中都有id字段(autoincrement的主key),使用php往里插入记录时不需要填id,mysql会自动生成这个id,但这个id怎么传回给php呢?因为接下来的代码可能要用这个id(比如将这个id存到另一个表中)

答案很简单: php提供了一个mysql_insert_id()函数可以得到这个id。

在insert成功之后立刻用这个函数就可以了,但如果这个id字段在Mysql中定义为BIGINT,则不能这么用(这是手册里说的,没有试过),可以直接在Select语句中用SQL函数LAST_INSERT_ID()。

千万要避免的方法是: 在insert之后用 select max(id)去当做新插入的id,这种方法大部分情况下可行,但一旦有多人操作数据库,正好在insert之后select max之前又有别人插入一条记录进去,那么selct max就会死的很惨了。

0 Comments:

发表评论

<< Home