webForumDet fria alternativet

Från Access till mySQL!

Databaser & SQLur Databashanterare & SQL

14 svar · 451 visningar · startad av nisslass

Medlem sedan nov. 2001348 inlägg
Frågan#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!

Medlem 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"
Medlem 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.

Medlem sedan nov. 2001348 inlägg
#4

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

Medlem 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.

Medlem 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?

Medlem 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"
Medlem 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

Medlem 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
Medlem 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

Medlem sedan nov. 2001348 inlägg
#11

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

Medlem 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. "

Medlem sedan nov. 2001348 inlägg
#13

Hur gör jag??

Medlem 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
Medlem 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!

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