MySQL: "unique"-artig, über mehrere Datensätze:-|
bearbeitet von
Das wirst Du über eine Transaktion machen müssen. Das Folgende ist Pseudocode, den Du nach vollständiger SQLifizierung in eine Stored Procedure (=MySQL Routing) packen könntest. Du musst natürlich noch einen Erfolgscode zurückgeben.
Kritisch ist es nur, wenn Du demjenigen, der die Seite zuerst aufrief, Priorität geben willst. Das klappt damit nicht, es ist eine Art Windhundprinzip: Wer zuerst "verbindlich buchen" drückt, bekommt den Tisch.
~~~
BEGIN TRANSACTION
INSERT (Tischnummer, AnzPlätze) Value (?, ?)
SELECT SUM(AnzPlätze) WHERE Tischnummer = ?
IF (summe <= maxPlätze)
COMMIT
ELSE
ROLLBACK
END TRANSACTION
~~~
_Rolf_