Beste,

Ik heb een tabel, waar klanten in staan. Van elke klant in de tabel moet 1 'punt' afgehaald worden, en deze moet bij de de klant met ID 1 bijgeschreven worden. Ik dacht het op de volgende manier op te lossen;


UPDATE customer_list SET credit = credit - 1 WHERE active = 'Y'

UPDATE customer_list SET credit = (credit + (SELECT COUNT(cus_id) FROM customer_list WHERE active = 'Y')) WHERE cus_id = '1'


Maar op de 2e query krijg ik een error, namelijk;

#1093 - You can't specify target table 'customer_list' for update in FROM clause

Iemand enig idee hoe ik dit het beste zou kunnen oplossen?

Alvast bedankt,

Niels.
In een UPDATE query is dezelfde tabel blijkbaar niet beschikbaar om ook records uit te selecteren. De meest eenvoudige manier om dit op te lossen is door na je eerste UPDATE query het aantal gewijzigde rijen te tellen met behulp van mysql_affected_rows(). Vervolgens gebruik je deze waarde in je tweede query...
Bedankt, heb het toch maar inderdaad met een beetje PHP opgelost!

Reageren