что делает select @@ identity? - PullRequest
2 голосов

я подключаюсь к базе данных mysql через excel, используя odbc

что делает эта строка?

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 ]

5 голосов
/ 12 мая 2010

Выбирает (и возвращает) последнее значение, вставленное в ИДЕНТИЧНУЮ КОЛОННУ в текущем соединении.

Вот справочный материал по теме

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

1 голос
/ 13 мая 2010

Возвращает последний вставленный идентификатор из столбца AUTO_INCREMENT. Однако я подумал, что LAST_INSERT_ID () была правильной функцией для использования в MYSQL. Я никогда не видел ссылки на @@ IDENTITY в документации. Я думал, что это была только конструкция SQL Server / Sybase.

1 голос
/ 12 мая 2010

Возвращает идентификатор последней записи, вставленной в базу данных. Смотрите здесь: http://www.kamath.com/tutorials/tut007_identity.asp

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...