2010-08-25 73 views
2

我找到了mysql_insert_id函数来检索最后一个自动生成的ID。如何插入新的自动增量ID

我应该使用mysql_insert_id +1来添加一个新的ID还是需要添加一个新的唯一ID?

回答

4

的ID使用NULL:

INSERT INTO `database`.`table` (`id`, `user`, `result`) VALUES (NULL, 'Alice', 'green')"); 

或不指定ID都:

INSERT INTO `database`.`table` (`user`, `result`) VALUES ('Alice', 'green')"); 

无论哪种方式工作得很好,更多的是偏好的,但我个人选择的是第二个为减少打字。

+0

不那么让人困惑 - 我期望第一个例子会抛出一个错误,因为您试图将NULL插入到(大概)非NULL列中。或者mySQL不区分未指定的和显式的NULL值? – TMN 2010-08-25 17:11:56

+0

当你使用id作为主键时,NULL是可以接受的。 – Chris 2010-08-25 17:25:26

+0

好的 - 这是我的SQL语句,这是愚蠢的:) – Steve 2010-08-25 17:28:25

3

如果您的ID字段设置为自动增量,则根本不需要添加ID。它会自动增加和添加。

0

在MySQL中的AUTO_INCREMENT确实听起来像。当你插入一条新记录时,它会自动为你生成一个新的ID。你不需要单独的电话。

0

插入一条新记录,并将自动增量列设置为NULL,或者完全省略它(隐式设置为NULL - 它具有相同的结果)。该列将被设置为下一个自动增量值而不是NULL。