我試圖從我的數據庫中獲取最後插入的ID以用於另一個查詢,但是...當我檢查它是否是數值時,它失敗!SELECT LAST_INSERT_ID - 不生成數值
// my big insert query goes here //
Set rs = conn.Execute("SELECT LAST_INSERT_ID();")
member_id = rs(0)
rs.Close : Set rs = Nothing
If member_id <> "" AND IsNumeric(member_id) Then
conn.Execute(" INSERT INTO members_reputation (member_id, awarded_for, awarded_when, awarded_what) " _
& "VALUES ("&member_id&", 'Created an account', Now(), 1); ")
Else
Response.Write member_id //testing
Response.End // testing
End If
正如你所看到的,如果則IsNumeric條件不滿足,我寫了member_id屏幕(僅用於測試),成功地顯示正確的ID,但顯然,這不是數值,那麼下一個查詢不開火!
這是爲什麼?圍繞它的最佳解決方案是什麼?
UPDATE
好吧,我通過使用TRIM(),這樣解決了這個問題:
If Trim(member_id) <> "" AND IsNumeric(Trim(member_id)) Then
這讓我很高興,因爲它的工作原理,但讓我傷心知道這樣一個簡單的過程得到一個數字ID失敗。如何向SQL詢問一個整數ID,產生一個空格?數據庫字段中顯然沒有空格,我的代碼中也沒有空格。如果任何人有任何想法,我仍然想回答這個問題?
您確定您的插入成功嗎? – 2012-08-07 01:05:11
@MichaelMior:是的,正如我所說的,當我打印id到屏幕上顯示正確的值時,它只是不是數字 – TheCarver 2012-08-07 01:12:35
抱歉,抱歉。錯過了那一個。 – 2012-08-07 01:41:30