MySQL的LAST_INSERT_ID用法举例2014-01-08 csdn Wentasy环境:MySQL Sever 5.1 + MySQL命令行工具首先看个例子(主键是自增长):
mysql> insert into bankaccount(name,balance) values("123", 1000);Query OK, 1 row affected (0.06 sec)mysql> insert into bankstatement(action, txdate, amt, toaccno, fromaccno) values("122", curdate(), 1000, 1, 2);Query OK, 1 row affected (0.00 sec)mysql> select last_insert_id();+------------------+| last_insert_id() |+------------------+|7 |+------------------+1 row in set (0.00 sec)mysql> select * from bankaccount;+-------+------+---------+| accno | name | balance |+-------+------+---------+| 1 | 张三 | 200 || 2 | 李四 | 900 || 3 | 123|1000 || 4 | 123|1000 |+-------+------+---------+4 rows in set (0.00 sec)mysql> select * from bankstatement;+----+--------------+------------+------+---------+-----------+| id | action | txdate | amt| toaccno | fromaccno |+----+--------------+------------+------+---------+-----------+|1 | 开户 | 2012-10-14 |100 |NULL | 1 ||2 | 开户 | 2012-10-14 | 1000 |NULL | 2 ||3 | 查找账户信息 | 2012-10-14 |0 |NULL | 2 ||4 | 查找账户信息 | 2012-10-14 |0 |NULL | 1 ||5 | 转账 | 2012-10-14 |100 | 1 | 2 ||6 | 122| 2012-10-14 | 1000 | 1 | 2 ||7 | 122| 2012-10-14 | 1000 | 1 | 2 |+----+--------------+------------+------+---------+-----------+7 rows in set (0.00 sec)
总结:LAST_INSERT_ID()返回最后一个INSERT或UPDATE语句中 AUTO_INCREMENT列的值。