🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2633

Re: query

#2633
From: Herman Timmermans
Date: Fri, 02 Apr 2004 20:17
66 lines
3650 bytes
Snuyt wrote:

> Herman Timmermans wrote:
>> Snuyt wrote:
>> 
>> 
>>>Hallo,
>>>
>>>ik heb een tabel:
>>>
>>>tabel
>>>id    Ander_id        waarde
>>>
>>>Ander_id is een verwijzing naar een id in een andere tabel
>>>
>>>het kan dus zijn dat er meerdere rijen zijn met Ander_id dezelfde
>>>waarde. Ik wil nu 1 rij verwijderen met Ander_id=1 (of een andere
>>>waarde). Ik gebruik volgende query, maar hij geeft een foutmelding:
>>>
>>>DELETE FROM tabel WHERE Ander_id=1 LIMIT 1
>>>
>>>hij kankert over die LIMIT 1. Dat is volgens mij toch om te specifieren
>>>dat er maar 1 rij mag verwijderd worden. Kan iemand mij de fout
>>>vertellen, en nog beter, een oplossing geven.
>>>
>>>(Akkoord, ik kan via via te weten komen welk (uniek) id er moet
>>>verwijderd worden, zonder die LIMIT dan, maar dat is een omweg, en dat
>>>wil ik niet)
>>>
>>>bedankt,
>>>Snuyt
>> 
>> *********************************************************************
>> Volgens mij kan je dit niet zo doen, hoe kan de dbmgr nu weten welke van
>> de x-aantal "Ander_id" records hij moet verwijderen ? Ofwel allemaal
>> ofwel
>> eenduidig, maar hier is het niet eenduidig.  LIMIT 1 zegt niets over
>> welke record hij moet verwijderen, allen geef jij een indicatie dat het
>> slecht
>> ��n mag zijn.  Je kan best een  "where clause" met de unieke ID toevoegen
>> aan je Delete statement of je db design eens kritisch bekijken.
>> Mvg,
>> Herman
> 
> Het speelt geen rol welk er verwijderd wordt, zolang het maar aan de
> WHERE-clause voldoet. Het dbmgr mag kiezen. Dat mag at random zijn, dat
> mag volgens een andere keuze zijn, ... Voor de gebruiker (mij dus)
> speelt het geen rol. Je draagt zelf de verantwoordelijkheid voor de
> WHERE clause, dus ik zie het probleem niet.
> 
> Snuyt
***************************************************************
Als je de dbmgr laat kiezen welke records hij uit de db mag deleten ben ik
wel heel nieuwsgierig naar de logica van uw applicatie en naar de
db-design.  De bedoeling van de WHERE clause is juist om dit eenduidig te
maken, en indien dit x-aantal zijn, dan zullen er ook x-aantal verwijderd
worden, maar je kan dan niet verlangen dat de dbmgr er maar ��n van de
x-kandidaten uitkiest omdat jij een LIMIT-clause meegeeft.  Ik vermoed heel
sterk dat je db-design niet in orde is. Ik kan hier verder geen zinnig
woord over zeggen zonder meer informatie van jou..
Mvg, Herman
-- 
Suse Linux Professional 8.1 on Athlon 1.1 Ghz 512 Mb
Anti Spam = remove the "dot" and the "at"
Registered Linux User #264690
Visit us : http://users.skynet.be/herman.timmermans
Technical Details
Message-ID: <406dcaff$0$1349$ba620e4c@news.skynet.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news.glorb.com!ecngs!feeder.ecngs.de!news.cambrium.nl!news.cambrium.nl!skynet.be!skynet.be!louie!tjb!not-for-mail
References: <406d7eb8$0$1962$ba620e4c@news.skynet.be> <406d851e$0$1962$ba620e4c@news.skynet.be> <406d8e91$0$1960$ba620e4c@news.skynet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,bb2ad80a5b4cc582
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2004-04-02 12:20:42 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!news.glorb.com!ecngs!feeder.ecngs.de!news.cambrium.nl!news.cambrium.nl!skynet.be!skynet.be!louie!tjb!not-for-mail
Message-ID: <406dcaff$0$1349$ba620e4c@news.skynet.be>
From: Herman Timmermans <timmermansdot.hermanat@skynet.be>
Subject: Re: query
Newsgroups: be.comp.programming
Reply-To: timmermansdot.hermanat@skynet.be
Date: Fri, 02 Apr 2004 22:17:55 +0200
References: <406d7eb8$0$1962$ba620e4c@news.skynet.be> <406d851e$0$1962$ba620e4c@news.skynet.be> <406d8e91$0$1960$ba620e4c@news.skynet.be>
Organization: ATUM BVBA
User-Agent: KNode/0.7.7
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-15
Content-Transfer-Encoding: 8Bit
Lines: 66
NNTP-Posting-Host: 80.200.1.25
X-Trace: 1080937215 reader0.news.skynet.be 1349 80.200.1.25:15551
X-Complaints-To: usenet-abuse@skynet.be