webForumDet fria alternativet

Access till MySQL

10 svar · 317 visningar · startad av MoonCow

MoonCowMedlem sedan juni 2001223 inlägg
#1

Hejsan! Har bytt till en mySQLdatabas och märker att det verkligen inte bara var att byta kopplingskod.
Detta är väl en av de klurigare sql-satserna som jag har vilken jag inte lyckats göra om så att mySQL gillar den.

När jag använde Access såg den ut såhär:

Addera = "select * from (select top " & besokareonline & " * from members order by senast_aktiv desc)  s where status = 'online' order by username"

Den jag försöker men får:

[TCX][MyODBC]You have an error in your SQL syntax near 'select * from members limit 1 order by senast_aktiv desc) where status = 'online' at line 1 

/onlinelist.asp, line 59

är:

'Addera = "select * from (select * from members limit " & besokareonline & " order by senast_aktiv desc)  s where status = 'online' order by username"

För jag känner ju till att man måste använda det som tydligen heter limit när det gäller mySQL.
Är det någon som vet hur min nya sql-sats ska se ut?

mvh,
Max

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Felpostat inlägg!

MoonCowMedlem sedan juni 2001223 inlägg
#3

Sorry, är så van att lägga i asp-forumet. Flyttar du åt mig?

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Det går inte med en fråga i Mysql.

Alternativ hämta det inre resultatet och sortera i ASP

q = "select  * from members order by senast_aktiv desc limit " & besokareonline 
set rs = connect.execute(q)
if not rs.eof then a = rs.getrows() : sort(a)

Det finns ingen inbyggd sortering i VB men om du letar så finns det inlägg.

Använd en arbetstabell

q1 = "create temporary table magdur(... ) select * from members order by senast_aktiv desc limit " & besokareonline 

q2 = "select * from magdur order by username "
MoonCowMedlem sedan juni 2001223 inlägg
#5

okej :)

förstod jag det rätt om jag skriver såhär?

query1 = "create temporary table magdur( ) select * from members order by senast_aktiv desc limit top" & besokareonline

query2 = "select * from magdur order by username "

Set RecSet = Databas.Execute(query1)
Set RecSet = Databas.Execute(query2)

funkar inte riktigt dock, ger:

[TCX][MyODBC]You have an error in your SQL syntax near ') select * from members order by senast_aktiv desc limit top 1' at line 1

ska det btw top vara med i satsen?

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Top skall inte vara med, klippte och klistrade. Jag var lite slarvig med create syntaxen, det skall inte vara några parenteser

http://www.mysql.com/doc/en/CREATE_TABLE.html

q1 = "create temporary table magdur select * from members order by senast_aktiv desc limit " & besokareonline

Man kan ange olia attribut, t.ex. om man vill att något skall vara unikt eller så.

ShoGunMedlem sedan aug. 2002237 inlägg
#7

Annars kan jag rekommendera ett prog som konverterar från Access till MySQL... kolla in: http://www.convert-in.com/
de har alla möjliga konverterare... =)

Lycka till... (Demon funkar tillfredställande...=)

ShoGun

MoonCowMedlem sedan juni 2001223 inlägg
#8

ShoGun skrev:

Annars kan jag rekommendera ett prog som konverterar från Access till MySQL... kolla in: http://www.convert-in.com/
de har alla möjliga konverterare... =)

Lycka till... (Demon funkar tillfredställande...=)

ShoGun

Tack, men har redan ett program som heter DVtool som fixade biffen mkt smidigt och bra.
Denna frågan handlar mest om koden.

MoonCowMedlem sedan juni 2001223 inlägg
#9

LarsG: tackar tackar! :) det funkar bra. men nästa gång, eller nån gång senare man kör koden så står det att den tabellen redan finns. vad lägger man till för att den ska skriva över varje gång istället? hittade inte det på länken du bifogade.

LarsGMedlem sedan dec. 200012 464 inlägg
#10

Tabellen försvinner när man gör disconnect, så det fungerar nog inte så bra i en miljö med connection-pooling.

Det är nog enklast att du droppar tabellen direkt efter det att du använt den

drop table magdur

Fördelen med en temporärtabell är att varje connection får sin egen kopia av tabellen så det blir aldrig några konfliikter som det lätt skulle bli med en permanent tabell.

MoonCowMedlem sedan juni 2001223 inlägg
#11

Tackar ödmjukast, det fungerade förträffligt :)
Go Jul :)

133 ms totalt · 3 externa anrop · v20260731065814-full.30151723
130 ms — hämta forumlista (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)