SELECT LAST_INSERT_ID - 不生成数值
问题描述:
我试图从我的数据库中获取最后插入的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