SELECT ingenting?

Databaser & SQL

6 svar · 421 visningar · startad av Swey

Medlem sedan apr. 20003 971 inlägg
Trådstart#1

Kan man göra en SELECT på ingenting bara för att kolla om alla WHERE är uppfyllda?

Om man t.ex. vill se om ett namn är upptaget är det ju bra om det går att göra typ
SELECT nothing FROM table WHERE nått = 'nåttannat'

så man inte behöver frigöra resultatet och slösa minne.

Går det?

Medlem sedan dec. 19996 721 inlägg
#2

Någon form av resultat måste du ju få, så lägg in en LIMIT 1, så slipper du i alla fall onödig minnesåtgång.

Medlem sedan juni 200032 967 inlägg
#3

eller, så borde man väl kunna ställa en fråga typ:

IF EXISTS (SELECT * FROM table WHERE nått = 'nåttannat') SELECT 1
Medlem sedan apr. 20003 971 inlägg
#4

i vilket språk är det?

fungerar inte i mySQL

Medlem sedan feb. 20001 270 inlägg
#5

$res=mysql_query("SELECT count(*) as cc FROM tabell WHERE bla=$bla and gul=$gul");
$row=mysql_fetch_array($res, MYSQL_ASSOC);
if($r[cc]>0)
echo "Poster finns";

Medlem sedan juni 200032 967 inlägg
#6

språket är transact-sql och jag använder microsoft sql server 7.0. hade inte mysql ett eget forum? :)

Medlem sedan apr. 20003 971 inlägg
#7

woodi, japp... så vet jag att man kan göra :)

@nders, jo... MS SQL är också ett eget forum. Access typ. I detta forum diskuteras dock SQL-frågor i allmänhet.

250 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)