MySQL Connector/ODBC 发行说明
在 INSERT
语句之后获取使用 AUTO_INCREMENT
的列的值可以通过多种方法实现。要立即在 INSERT
之后获取该值,请使用带有 LAST_INSERT_ID()
函数的 SELECT
查询。
例如,使用 Connector/ODBC,您将执行两个单独的语句,INSERT
语句和 SELECT
查询以获取自动递增值。
INSERT INTO tbl (auto,text) VALUES(NULL,'text');
SELECT LAST_INSERT_ID();
如果您不需要应用程序中的值,但需要作为另一个 INSERT
的一部分,则整个过程可以通过执行以下语句来处理
INSERT INTO tbl (auto,text) VALUES(NULL,'text');
INSERT INTO tbl2 (id,text) VALUES(LAST_INSERT_ID(),'text');
某些 ODBC 应用程序(包括 Delphi 和 Access)可能无法使用前面的示例获取自动递增值。在这种情况下,请尝试以下语句作为替代方案
SELECT * FROM tbl WHERE auto IS NULL;
此替代方法要求 sql_auto_is_null
变量未设置为 0。请参阅 服务器系统变量。
另请参阅 获取最后插入行的唯一 ID。