2010-05-12 6 views
2

Je me connecte à une base de données mysql via Excel en utilisant 0bbcque fait l'identité @@ identity?

que fait cette ligne?

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

je ne parviens pas à mettre à jour la base de données:

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 

il met uniquement à jour .Fields ("instrument") = "NA", mais pour tous les autres domaines, il met les valeurs NULL

Répondre

5

Il sélectionne (et retourne) la dernière valeur insérée dans une COLONNE D'IDENTITÉ dans la connexion en cours.

Voici les documents de référence sur le sujet

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

+0

merci Raj, pouvez-vous s'il vous plaît donnez-moi un exemple? –

+0

+1, il était important de noter que cela ne fonctionne que pour les colonnes 'identity' –

+0

pouvez-vous répondre à la deuxième partie de la question s'il vous plaît ainsi –

1

Il récupère l'identité du dernier enregistrement inséré dans la base de données. Voir ici: http://www.kamath.com/tutorials/tut007_identity.asp

+0

En fait, merci de poser cette question. Une fois, j'ai posé la question de savoir comment obtenir l'identité de la ligne que je viens d'insérer dans un autre thread et reçu un certain nombre de réponses me disant de déclarer une variable. Je savais que j'avais entendu parler de '@@ identity' quelque part! –

+0

merci étoile montante, pouvez-vous répondre à la deuxième partie de la question s'il vous plaît aussi bien –

1

Il récupère la dernière identité insérée à partir d'une colonne AUTO_INCREMENT. Cependant, j'ai pensé que LAST_INSERT_ID() était la bonne fonction à utiliser dans MYSQL. Je n'ai jamais vu de référence à @@ IDENTITY dans la documentation. Je pensais que c'était seulement une construction SQL Server/Sybase.