2016-09-28 36 views
1

在MySQL中插入到表与AUTO INCREMENTmanual suggests用户应该大致遵循这一模式LAST_INSERT_ID和OK包

INSERT INTO tbl (auto,text) VALUES(NULL,'text'); 
SELECT LAST_INSERT_ID(); 

我的问题是它含有一种叫last_insert_idOK PACKET时。这个值与使用SELECT LAST_INSERT_ID();相同吗?

手册本身不包含有关此字段的信息,我正在使用的ORM公开此字段。我想知道我是否可以做到这一点,而不是再次进行网络往返。

+0

收到的值,直到它不使用它工作:p – Drew

+0

我打算在几个小时内测试它,只是在我编写存储过程代码之前希望知道,因此我不必重新编写它:( – Valarauca

+0

它确实有效! – Valarauca

回答

0

答案似乎是肯定的。

OK PACKET中的last_insert_id字段确实对制定SELECT LAST_INSERT_ID();查询是多余的。

我跑的测试了一把做约30-40插入散乱数据的3列之间和在每一个场合的last_insert_id领域确实等于我从SELECT LAST_INSERT_ID();