Autor Zpráva
24k
Profil *
Setkal jste se nekdo s promennou v SQL dotazu?

Set @cosi='hodnota';
Select neco from tabulka where sloupec=@cosi;

Do jake hloubky to az saha? Nikde jsem zatim nenasel ( asi to bude tim ze spatne hledam) podrobnejsi popis a takto zapsano ( na mm.gene.cz) mi to prijde zbytecne pouzivat.
Kajman_
Profil *
Používá se to v sql skriptech. Občas se to hodí.
24k
Profil *
Priklad by byl? To co sem nasel mi asi neukazalo pravou podstatu pouzivani.
Kajman_
Profil *
Pokud děláš sql skripty, tak díky tomu dá líp programovat. Prostě si uložíš proměnnou a pak ji můžeš vícekrát použít, měnit a tak.

http://dev.mysql.com/doc/refman/4.1/en/example-user-variables.html
Kajman_
Profil *
Nebo si tím emulovat to rownum :-)
24k
Profil *
:D
24k
Profil *
no o emulaci pochybuji , kdyz tedy koukam na ten priklad tak se do promenne ulozi hodnota ze sloupce a ne z celeho dotazu, a to bych prave potreboval.

Ale dik Los Kajmanos
Kajman_
Profil *
No, ale v tom dotazu přece můžeš přičítat jedničku...

set @radek=0;
select @radek:=@radek+1 rownum, t.* FROM tabulka t ORDER BY t.body DESC;
24k
Profil *
:D a tos mi to nemohl rict driv? sem nemusel psat 3 h balicky fci a resit to obskurpulentne :D
Kajman_
Profil *
Nemáš zlobit.
24k
Profil *
:)
Anonymní
Profil *
Jenom takova drobnost

SET @a=3;
SELECT * from clanky where ID=@a;

tohel provedu v SQL , v poradku ,vyhodi mi to vse o clanku s ID 3.

a pote mam v php




<?php

$sel=mysql_query("

SET @a=3;
SELECT * from clanky where ID=@a;


");

echo ($sel) ? 1 : 0;
?>




a samozrejme chyba ( parse error, bad syntax ) ...tzn ze musim pouzivat 2 x MYSQL_QUERY, cili oddelene?

Jak to tak vypada tak ano




mysql_query("SET @a=3;");

$sel=mysql_query("


SELECT * from clanky where ID=@a;


");





Coz je trosku skoda, protoze to je 2x volani do DB a je to zase o neco pomalejsi :(
Hugo
Profil
MySQL_Query nemůže z bezpečnostních důvodu spustit víc jak jeden SQL příkaz. O moc pomalejší to nebude, takže se toho neboj.
Anonymní
Profil *
je to trosku skoda, drzim se takoveho pravidla cim mene volani do DB tim lepe. Nebo se to neda brat uplne jako plnohodnotny select?

Posledni dobou jsem trosku paranoicky a nad kazdym skriptem premyslim a obchazim to tak aby mel co nejmene query do DB.
Kajman_
Profil *
jedním by to bylo

SELECT * from clanky where ID=3

:-)
24k
Profil *
no jiste :) , ale vis o co mi jde ...
Kajman_
Profil *
Moc nevím. Když to využiješ ke zrychlení, tak si proměnnou deklaruj, když ne, tak to zapomeň.
24k
Profil *
Tak jo :)
Kajman_
Profil *
Nebo to zakomponuj do jednoho příkazu díky spojení s jednořádkovou tabulkou, která ji nastaví.
24k
Profil *
example bitte
Kajman_
Profil *
select @radek:=@radek+1 rownum, t.* from (SELECT @radek:=0) r, tabulka t
24k
Profil *
uff ... no pekne hratky... a tohle ma byt bezne? :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.