28. juli 2005 - 15:20Der er
11 kommentarer og 2 løsninger
Problem efter flyt til MYSQL
Jeg har flyttet min database til en MYSQL server og er i den forbindelse løbet ind i nogle problemer, så er blevet løst hen ad vejen.
Jeg har dog et jeg ikke lige selv kan finde en let løsning på:
På min MSSQL fik jeg id ud på denne kode:
Set rs = Server.CreateObject("ADODB.RecordSet") SQL = "SELECT * FROM tabel where (id = 0) rs.Open SQL, strDSN, 1, 3 rs.addnew rs(“dato”) = date rs.update id = rs(“id”) rs.close set rs = nothing response.write id
Men på min MYSQL server er id bare tom, når jeg bruger samme kode. Kan MYSQL ikke hive id ud lige efter den har oprettet i databasen, eller hvad er der galt her?
ja den opretter fint nok, problemet er at jeg skal bruge id længere nede i min kode, og det virker jo ikke rigtigt når id er tom, jeg har også prøvet: id = rs(“id”) rs("id2") = id rs.update og den giver bare null i id2
Hvad sker der så hvis går ind på siden samtidig? altså: bruger1: conn.execute("insert into tabel(dato) values('"& date &"')") bruger2: conn.execute("insert into tabel(dato) values('"& date &"')") bruger1: set rs = conn.execute("select @@IDENTITY") bruger2: set rs = conn.execute("select @@IDENTITY") får bruger2 så ikke bruger1 id?
Nej, systemet ved hvilket id du skal have fat på gennem connections objekt. Sålænge du ikke overskriver connections objekt eller laver en ny indsættelse, får du det rigtige id.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.