2012-03-20 44 views
6
Dim insert_coupon_query As String = ("INSERT INTO qa_discountcoupons (id, status_code) VALUES (AUTO_INCREMENT_ID, 5)") 
       Dim cmd_query As New MySqlCommand(insert_coupon_query, objConn) 
       Dim cmd_result As Integer = CInt(cmd_query.ExecuteScalar()) 

我想返回當前插入的AUTO_INCREMENT值,並顯示在msgbox中。返回上一個ID(IDENTITY)在插入行VB.NET MySQL

+0

您是否確實在查詢中建議傳遞一個ID?或者它真的是一個自動增量?在MySQL中,您可以選擇'LAST_INSERT_ID'來獲取事務中最後一個自動遞增的ID。 – David 2012-03-20 16:50:47

+0

不,這個id是由MySQL生成的,我只通過狀態碼 – 2012-03-20 16:57:41

回答

13

您可以使用雙查詢和使用功能LAST_INSERT_ID()運行第一個查詢後得到最後當前查詢:

Dim insert_coupon_query As String = ("INSERT INTO qa_discountcoupons (status_code) VALUES (5); SELECT LAST_INSERT_ID()") 
       Dim cmd_query As New MySqlCommand(insert_coupon_query, objConn) 
       Dim cmd_result As Integer = CInt(cmd_query.ExecuteScalar()) 

       MsgBox(cmd_result) 
+0

它工作的很完美!謝謝 – 2012-03-20 17:07:52

+0

從來沒有想過我們可以在vb.net sql語句中使用雙查詢。它有助於從ID列中獲取自動增量編號。謝謝。 – surpavan 2016-11-30 18:27:14

0

您可以通過MySQL query獲取一個表的AUTO_INCREMENT值,然後顯示在你的MSGBOX