Liebes Forum,
Ich kämpfe mit einer recht simplen Abfrage herum. Die dahinter liegende Idee ist, dass ich in einer Tabelle nur dann einen bestimmten Satz löschen möchte, wenn in der Tabelle mehr als 5 Sätze gespeichert sind. Meine Befehls-Kette dazu lautet:
use test;
set @A1 = count(Watt) from sunny;
if @A1 > 5 delete from sunny where Volt = 100;
end if;
exit;
Ich habe auch schon etliche Varianten probiert (CASE statt IF, genestetes SELECT statt Nutzung der Variable, usw).
Die Tabelle selbst ist sehr simpel und hat nur 5 Felder, sie wird (wenn die Sonne scheint) alle 30 Sekunden um einen Satz ergänzt, bis sie am Abend nach Sonnenuntergang wieder gelöscht wird.
In allen Fällen bekomme ich einen angeblichen Syntax-Fehler:
ERROR 1064(42000): You have an error in your SQL syntax;check the
manual that corresponds to your MySQL server version for the right
syntax touse near 'if @A1 > 5 delete from sunny where Volt = 100;'
Hat einer von Euch eine Idee? Ich bin am Verzweifeln...
Ich kämpfe mit einer recht simplen Abfrage herum. Die dahinter liegende Idee ist, dass ich in einer Tabelle nur dann einen bestimmten Satz löschen möchte, wenn in der Tabelle mehr als 5 Sätze gespeichert sind. Meine Befehls-Kette dazu lautet:
use test;
set @A1 = count(Watt) from sunny;
if @A1 > 5 delete from sunny where Volt = 100;
end if;
exit;
Ich habe auch schon etliche Varianten probiert (CASE statt IF, genestetes SELECT statt Nutzung der Variable, usw).
Die Tabelle selbst ist sehr simpel und hat nur 5 Felder, sie wird (wenn die Sonne scheint) alle 30 Sekunden um einen Satz ergänzt, bis sie am Abend nach Sonnenuntergang wieder gelöscht wird.
In allen Fällen bekomme ich einen angeblichen Syntax-Fehler:
ERROR 1064(42000): You have an error in your SQL syntax;check the
manual that corresponds to your MySQL server version for the right
syntax touse near 'if @A1 > 5 delete from sunny where Volt = 100;'
Hat einer von Euch eine Idee? Ich bin am Verzweifeln...