0

我有一个带有“文本”字段的表格。插入数据时,“id”字段会自动增加。我运行这个查询:

INSERT into answer (Text) VALUES ('Test');
INSERT into answer (Text) VALUES ('Test');
INSERT into answer (Text) VALUES ('Test');
INSERT into answer (Text) VALUES ('Test');
Delete From answer;

我需要获取未来的 id(当我将插入下一个文本时)。你能帮我查询一下,我的数字= 5(但不是1,因为'id'自动增加)?

4

1 回答 1

4

无法知道下一个auto_increment 值。好吧,可能不是你想的那样。您只能可靠地获得最后一个使用的(通过使用LAST_INSERT_ID())。

有些人可能会以另一种方式告诉您:“这很容易,只需采取LAST_INSERT_ID()+1”。

但这是个主意。为什么?因为将对您的数据库进行并发访问。所以你可能会猜到表中的下一个 ID。但不是将在您的交易中归属的下一个 ID 。

(此外,根据您的数据库设置,auto_increment 步骤可能大于 1 - 请参阅http://dev.mysql.com/doc/refman/5.0/en/replication-options-master.html#sysvar_auto_increment_increment

于 2013-08-11T11:39:44.037 回答