异想天开

What's the true meaning of light, Could you tell me why

mysql last insert id

日期:2018-12-02 21:20:32
  
最后更新日期:2018-12-02 21:20:32
当数据表中含有自增字段时,不同的线程插入行,通过last insert id获取到的自增id是独立的。
比如创建测试表:
[code lang="cpp"]
mysql> create table aa(`id` int(12) auto_increment, `tt` char(64), primary key(`id`));
Query OK, 0 rows affected (0.05 sec)
[/code]

打开终端1,连接mysql,插入记录:
[code lang="cpp"]
mysql> insert into aa('tt') value('1');
[/code]


打开终端2,连接mysql,插入记录:
[code lang="cpp"]
mysql> insert into aa('tt') value('2');
[/code]

此时先在终端1,获取last insert id:
[code lang="cpp"]
mysql> SELECT LAST_INSERT_ID();
+------------------+
| LAST_INSERT_ID() |
+------------------+
| 1 |
+------------------+
1 row in set (0.00 sec)
[/code]
返回的还是1.