/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
php/mysql
Fra : TT


Dato : 10-03-05 20:05

Nu synes jeg lige, at jeg fået lidt fod på mysql, men når jeg sender
følgende forespørgsel, som - indrømmet - er en ordentlig bamse:

$result = mysql_query("SELECT akam.nr, akam.karak AS akamk, dcrp.nr,
dcrp.karak AS dcrpk, digimag.nr, digimag.karak AS digimagk, digit.nr,
digit.karak AS digitk, dpr.nr, dpr.karak AS dprk, ir.nr, ir.karak AS
irk, sd.nr, sd.karak AS sdk, zdn.nr, zdn.karak AS zdnk, canon.nr, model,
canon.date
FROM canon
LEFT JOIN akam ON ( canon.nr = akam.nr )
LEFT JOIN dcrp ON ( canon.nr = dcrp.nr )
LEFT JOIN digimag ON ( canon.nr = digimag.nr )
LEFT JOIN digit ON ( canon.nr = digit.nr )
LEFT JOIN dpr ON ( canon.nr = dpr.nr )
LEFT JOIN ir ON ( canon.nr = ir.nr )
LEFT JOIN sd ON ( canon.nr = sd.nr )
LEFT JOIN zdn ON ( canon.nr = zdn.nr )
ORDER BY canon.date") or die (mysql_error());


så får jeg følgende fejlmelding:

"The SELECT would examine more rows than MAX_JOIN_SIZE. Check your WHERE
and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT
is ok"

Mit spørgsmål er så, hvor i min forespørgsel jeg skal tilføje f.ex. "SET
SQL_BIG_SELECTS=1", der får det hele til at virke, når jeg skriver det
direkte i phpMyAdmin?

Håber I kan hjælpe mig!

TT

 
 
Jens Koldbæk (11-03-2005)
Kommentar
Fra : Jens Koldbæk


Dato : 11-03-05 16:08

Du skal ikke skrive det i din forspørgsel. Du skal blot køre
kommandoen

SET SQL_BIG_SELECTS=1

inden du kører din forespørgsel (men på samme måde som du kører en
forespørgsel).

Så bliver Session-parameteren SQL_BIG_SELECTS sat til 1, og dermed
er du i stand til at foretage en større join.

Mvh
Jens

TT <tfg@tomsfotoguide.dk> skrev:
>Nu synes jeg lige, at jeg fået lidt
>fod på mysql, men når jeg sender
>følgende forespørgsel, som -
>indrømmet - er en ordentlig bamse:
>
>$result = mysql_query("SELECT
>akam.nr, akam.karak AS akamk, dcrp.nr,
>dcrp.karak AS dcrpk, digimag.nr,
>digimag.karak AS digimagk, digit.nr,
>digit.karak AS digitk, dpr.nr,
>dpr.karak AS dprk, ir.nr, ir.karak AS
>irk, sd.nr, sd.karak AS sdk, zdn.nr,
>zdn.karak AS zdnk, canon.nr, model,
>canon.date
>FROM canon
>LEFT JOIN akam ON ( canon.nr = akam.nr )
>LEFT JOIN dcrp ON ( canon.nr = dcrp.nr )
>LEFT JOIN digimag ON ( canon.nr = digimag.nr )
>LEFT JOIN digit ON ( canon.nr = digit.nr )
>LEFT JOIN dpr ON ( canon.nr = dpr.nr )
>LEFT JOIN ir ON ( canon.nr = ir.nr )
>LEFT JOIN sd ON ( canon.nr = sd.nr )
>LEFT JOIN zdn ON ( canon.nr = zdn.nr )
>ORDER BY canon.date") or die
>(mysql_error());
>
>
>så får jeg følgende fejlmelding:
>
>"The SELECT would examine more rows
>than MAX_JOIN_SIZE. Check your WHERE
>and use SET SQL_BIG_SELECTS=1 or SET
>SQL_MAX_JOIN_SIZE=# if the SELECT
>is ok"
>
>Mit spørgsmål er så, hvor i min
>forespørgsel jeg skal tilføje f.ex. "SET
>SQL_BIG_SELECTS=1", der får det hele
>til at virke, når jeg skriver det
>direkte i phpMyAdmin?
>
>Håber I kan hjælpe mig!
>
>TT


TT (11-03-2005)
Kommentar
Fra : TT


Dato : 11-03-05 18:17

Jens Koldbæk (slet M9I3D) wrote:
> Du skal ikke skrive det i din forspørgsel. Du skal blot køre
> kommandoen
>
> SET SQL_BIG_SELECTS=1
>
> inden du kører din forespørgsel (men på samme måde som du kører en
> forespørgsel).


Tak for dit svar!
Desværre er jeg helt ny i mysql, så jeg kan ikke finde den rigtige måde
at skrive det på :(
Kan du gi mig et forslag?

Venlig hilsen
TT

TT (11-03-2005)
Kommentar
Fra : TT


Dato : 11-03-05 18:21

Jens Koldbæk (slet M9I3D) wrote:
> Du skal ikke skrive det i din forspørgsel. Du skal blot køre
> kommandoen
>
> SET SQL_BIG_SELECTS=1
>
> inden du kører din forespørgsel (men på samme måde som du kører en
> forespørgsel).

Hov, nu lykkedes det!!!!:D
Tak for hjælpen!

TT


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408188
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste