2017-09-10 38 views
0

我試過使用SELECT LAST_INSERT_ID()來獲取最後一個id更新,但它給了我零。請幫助我在vb.net獲取最後一次更新行mysql的ID

+0

您必須取'LAST_INSERT_ID()'從相同的連接'INSERT'。你可以顯示執行INSERT的vb代碼序列,然後查詢id嗎?請[編輯]你的問題。 –

+1

last_insert_id()爲您提供上次插入的行的標識,但是您詢問上次更新的行。那裏有衝突。 –

+0

美好的一天先生,謝謝你的回覆。根據這本手冊[鏈接](https://dev.mysql.com/doc/refman/5.7/en/mysql-insert-id.html)mysql_insert_id返回最後插入的id或更新。我只想得到更新行的最後一個ID。 – NoobProgrammer

回答

1

添加您的表與DATETIME類型的新列。並從attribute部分選擇on update CURRENT timestamp選項。通過這種方式,無論何時在列中發生更新,數據庫都會自動更新此行。然後,所有你需要做的就是從腳本中寫入你的SQL命令。

SELECT id fROM table ORDER BY name_of_datetime_column DESC LIMIT 1 

將返回只有一列是最後一次更新一個

+0

聰明的伴侶,謝謝你的方式。 – NoobProgrammer

1

如果您使用Connector/.NET,您會發現MySqlCommand對象具有LastInsertedId屬性。您可以在INSERT查詢後立即使用檢索該屬性值,並且不必執行其他查詢。

如果您沒有執行INSERT操作,則無法獲得任何LAST_INSERTED_ID()值。如果你正在做的是UPDATE查詢,忘記LAST_INSERTED_ID()

+0

有沒有另一種方法獲得更新行的最後一個ID?還是不可能? :( – NoobProgrammer

相關問題