List:General Discussion« Previous MessageNext Message »
From:Paul DuBois Date:January 10 2000 1:47am
Subject:Where can user variables be used?
View as plain text  
At 9:53 AM +1100 2000-01-10, Albert Ng wrote:
>Thanks Paul.
>Well I was hoping that I can use variables to
>find the size of a table so that I can display only
>the last few rows of the table by using limit since
>I can't do a limit -10 to signify I want it to go from
>the bottom of the records. And without sub-query,
>looks like my only choice is to do 2 sql's  and
>use a local variable in my program. sigh....oh,
>I can't upgrade to 3.23 for various reasons.

Well, I just tried doing what you want to do under 3.23.8,
and it doesn't appear to be possible anyway.  I tried
setting a variable to the number of rows in a table like this:

SELECT @a:=COUNT(*) FROM tbl_name;

That worked.  Then I tried getting the last few rows like this:

SELECT * FROM tbl_name LIMIT @a-10, 10;

That didn't work (syntax error at '@a').

Then I tried setting @a directly with a SET @a:=num statement,
followed by:

SELECT * FROM tbl_name LIMIT @a, 10;

Still get a syntax error at '@a'.

So my question is: in what contexts can you use user variables.
In a SET statement, clearly.  Also in the selection list for a
SELECT statement.  And I've been able to use them in the WHERE
clause as well.  But what are the actual rules governing where you
can use them?

Paul DuBois, paul@stripped
user variablesAlbert Ng7 Jan
  • Re: user variablesPaul DuBois7 Jan
  • Re: user variables -> calculating limitAlbert Ng10 Jan
    • Re: user variables -> calculating limitBenjamin Pflugmann10 Jan
    • Re: user variables -> calculating limitPaul DuBois10 Jan
    • Where can user variables be used?Paul DuBois10 Jan
      • Where can user variables be used?Michael Widenius10 Jan
  • Re: Where can user variables be used?Albert Ng10 Jan
  • Re: Where can user variables be used?Sasha Pachev10 Jan