选择@@ identity做什么?

时间:2010-05-12 19:48:16

标签: sql mysql excel vba odbc

我使用odbc

通过excel连接到mysql数据库

这条线做什么?

Set rs = oConn.Execute("SELECT @@identity", , adCmdText)

我无法更新数据库:

   With rs
        .AddNew ' create a new record
        ' add values to each field in the record
        .Fields("datapath") = dpath
        .Fields("analysistime") = atime
        .Fields("reporttime") = rtime
        .Fields("lastcalib") = lcalib
        .Fields("analystname") = aname
        .Fields("reportname") = rname
        .Fields("batchstate") = "bstate"
        .Fields("instrument") = "NA"
        .Update ' stores the new record
    End With

它只是更新.Fields(“instrument”)=“NA”,但是对于所有其他字段,它都是NULL值

3 个答案:

答案 0 :(得分:5)

选择(并返回)插入当前连接中IDENTITY COLUMN的最后一个值。

以下是有关主题的参考资料

http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

答案 1 :(得分:1)

它检索您插入数据库的最后一条记录的标识。见这里:http://www.kamath.com/tutorials/tut007_identity.asp

答案 2 :(得分:1)

它从AUTO_INCREMENT列中检索最后插入的标识。但是,我认为LAST_INSERT_ID()是在MYSQL中使用的正确函数。我在文档中从未见过对@@ IDENTITY的任何引用。我以为它只是一个SQL Server / Sybase构造。