借帖 看到上面的帖子,让我想起一个问题,本人用MySQL C API从一个表的auto_increment列中取得自增号(ID),我用一个字符指针取得的,可是显示出来却是一长串的整型数字,不同于实际的ID值,而且每次显示的结果都不一样,上下列的差别都是40,而不是1,我很奇怪,哪位能帮我解答,另外如何开帖? 先谢了。
我试了LAST_INSERT_ID(),总是返回零,是不是因为我用的不是ODBC连接方式?"一个常见的问题是怎样得到一个自动从一个INSERT产生的ID值,用ODBC,你可以这样做(假定auto是一个AUTO_INCREMENT字段):INSERT INTO foo (auto,text) VALUES(NULL,'text'); SELECT LAST_INSERT_ID();或,如果你是只是想把ID插入到另外一个表中,你可以这样做:INSERT INTO foo (auto,text) VALUES(NULL,'text'); INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');得益于一些ODBC应用程序(至少Delphi和Access),下列查询可被用来找出最新插入的行:SELECT * FROM tbl_name WHERE auto IS NULL;"
可以返回记录数
看到上面的帖子,让我想起一个问题,本人用MySQL C API从一个表的auto_increment列中取得自增号(ID),我用一个字符指针取得的,可是显示出来却是一长串的整型数字,不同于实际的ID值,而且每次显示的结果都不一样,上下列的差别都是40,而不是1,我很奇怪,哪位能帮我解答,另外如何开帖? 先谢了。
SELECT LAST_INSERT_ID();或,如果你是只是想把ID插入到另外一个表中,你可以这样做:INSERT INTO foo (auto,text) VALUES(NULL,'text');
INSERT INTO foo2 (id,text) VALUES(LAST_INSERT_ID(),'text');得益于一些ODBC应用程序(至少Delphi和Access),下列查询可被用来找出最新插入的行:SELECT * FROM tbl_name WHERE auto IS NULL;"
那是 MySQL 的标准解释,
你的语句与结果呢??
从贵贴里得到不少帮助
谢谢各位大侠^&^