webForumDet fria alternativet

Från Access till mySQL!

14 svar · 451 visningar · startad av nisslass

nisslassMedlem sedan nov. 2001348 inlägg
#1

Hej!

Jag har precis bytt från access till MySQL.

När jag körde mot access fungerade denna rad bra:

sql = "select top 15 * ,(select count(*) from Kommentarer where artikelid = a.id and visa='1') as antal " &_
" from Allt as a where kategori <> 'closed' AND Visa <> False order by datum desc"

Koden fungerar inte med MySQL utan jag får felmeddelandet;
[TCX][MyODBC]You have an error in your SQL syntax near '15 * ,(select count(*) from Kommentarer where artikelid = a.id and visa='1') as ' at line 1

HJÄLP!

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Mysql klarar inte så mycket SQL som Access.

Vad har visa för datatyp? Det finns ingen boolean i Mysql


sql = "select a.id,a.a.kategori,count(k.artikelid) as antal " &_
" from allt as a " & _
" left outer join kommentarer as k on artikelid = a.id  " & _
" and k.visa = '1' " & _
" where  a.kategori <> 'closed' " &_
" AND a.Visa <> 0 " & _
" group by  a.id,a.a.kategori " & _
" order by datum desc limit 15"
nisslassMedlem sedan nov. 2001348 inlägg
#3

Visa, ENUM(True,False)
Jag exporterade bara databasen.

Hur stoppar jag in data i databasen då? Mycket svårt, hittar inte något riktigt bra ställe där jag kan kolla på exempel.

nisslassMedlem sedan nov. 2001348 inlägg
#4

[TCX][MyODBC]Unknown table 'a.a' in field list
Får jag med din kod...

LarsGMedlem sedan dec. 200012 464 inlägg
#5
sql = "select a.id,a.kategori,count(k.artikelid) as antal " &_
" from allt as a " & _
" left outer join kommentarer as k on k.artikelid = a.id  " & _
" and k.visa = '1' " & _
" where  a.kategori <> 'closed' " &_
" AND a.Visa <> false " & _
" group by  a.id,a.a.kategori " & _
" order by datum desc limit 15"

Det blev ett a. för mycket i select-listan.

nisslassMedlem sedan nov. 2001348 inlägg
#6

Skoj:
[TCX][MyODBC]Column: 'datum' in order clause is ambiguous

Datum = datetime

och i koden, " group by a.id,a.a.kategori " & _
Är det ett a förmycket där med?

LarsGMedlem sedan dec. 200012 464 inlägg
#7
sql = "select a.id,a.kategori,count(k.artikelid) as antal " &_
" from allt as a " & _
" left outer join kommentarer as k on k.artikelid = a.id  " & _
" and k.visa = '1' " & _
" where  a.kategori <> 'closed' " &_
" AND a.Visa <> false " & _
" group by  a.id,a.a.kategori " & _
" order by a.datum desc limit 15"
nisslassMedlem sedan nov. 2001348 inlägg
#8

[TCX][MyODBC]Unknown column 'false' in 'where clause'

Varför ska det vara så svårt?

rad nr 7 i din kod har två stycken a? ett förmycket?

Varför ska det vara så onödigt jobbigt?
Ett exempel på hur jag stoppar in data i mySQL databaser skulle inte heller sitta fel. :birp

LarsGMedlem sedan dec. 200012 464 inlägg
#9

Om du testar med false inom ' då

sql = "select a.id,a.kategori,count(k.artikelid) as antal " &_
" from allt as a " & _
" left outer join kommentarer as k on k.artikelid = a.id  " & _
" and k.visa = '1' " & _
" where  a.kategori <> 'closed' " &_
" AND a.Visa <> 'false' " & _
" group by  a.id,a.kategori " & _
" order by a.datum desc limit 15"

Ja visst ja, lagra data:

q = "insert into t(c1,c2) values(4711,'abc')"
connect.execute q,,128
nisslassMedlem sedan nov. 2001348 inlägg
#10

Fick det att fungera med:

sql = "select a.*,count(k.artikelid) as antal " &_
" from allt as a " & _
" left outer join kommentarer as k on k.artikelid = a.id  " & _
" and k.visa = '1' " & _
" where  a.kategori <> 'closed' " &_
" AND a.Visa <> 'False' " & _
" group by a.id,a.kategori " & _
" order by a.datum desc limit 15"

Behöver fortfarande exempel... eller nej. hehe

TACK LarsG! Du kan ju hajja att jag kommer återkomma med 100 frågor innan jag lyckats anpassa efter mySQL... :l

nisslassMedlem sedan nov. 2001348 inlägg
#11

Btw, du (eller någon) vet ingen bra sida om mySQL med exempel eller nå't?

nisslassMedlem sedan nov. 2001348 inlägg
#12

objRS.AbsolutePage = intPage fungerar tydligen inte med MySQL.

Använder det för att dela upp mina records på flera sidor men nu vill det sig inte längre utan jag får:
"Aktuellt Recordset stöder inte bokmärken. Det kan bero på en begränsning av providern eller den valda markörtypen. "

nisslassMedlem sedan nov. 2001348 inlägg
#13

Hur gör jag??

LarsGMedlem sedan dec. 200012 464 inlägg
#14

Du kan ju använda limit offset,antal i din select-sats

pageNo = request.queryString("pageNo")
if pageNo = "" then pageNo = 1
pageSize = 10

q = "select * from t order by pk limit " & pageSize*(pageNo-1) & "," & pageSize
nisslassMedlem sedan nov. 2001348 inlägg
#15

Sökte lite på nätet och hittade adressen:
http://activedeveloper.dk/aspdigital/2001112301.asp

Efter lite kombinerande med det gamla scriptet så har jag nu fått det att fungera perfekt!

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