如何获得下一个自动增加的id值?

时间:2013-08-11 11:35:15

标签: mysql

我有一个带有'Text'字段的表。插入数据时,“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'会自动增加)?

1 个答案:

答案 0 :(得分:4)

无法知道 next auto_increment值。好吧,可能不是你想象的方式。您只能可靠地获取所使用的 last (使用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