2010-08-25 72 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。