Article View: be.comp.programming
Article #2633Re: query
From: Herman Timmermans
Date: Fri, 02 Apr 2004 20:17
Date: Fri, 02 Apr 2004 20:17
66 lines
3650 bytes
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-mailReferences:
<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