2016-04-23 6 views
0

Ich erstelle eine Site mit Admins, die einen Benutzer löschen dürfen, wenn der Accesslevel des Benutzers kleiner als 8 ist. Ich habe dies und noch einige andere versucht Lösungen, aber es funktioniert nicht. Wie soll ich das machen? @id ist zuvor im selben Code definiert, ist aber nicht der Fehler. Es wird vom Benutzer eingegeben.MySQL löscht aus der Tabelle, wenn das Element aus der gelöschten Zeile ein Kriterium erfüllt

SET @hi = SELECT IF(SELECT accesslevel FROM members WHERE id = 8 < @id, 1,0); 
IF @hi == 1 THEN {DELETE FROM members WHERE id = @id} 
END IF; 

Vielen Dank für jede Hilfe.

+0

Warum würde ein geradliniges Löschen nicht funktionieren? 'DELETE FROM Mitglieder WHERE ID = @id AND accesslevel <8' – user3802077

Antwort

0

Vollständig beabstandete UND. Geändert in:

DELETE FROM members WHERE id = @id AND accesslevel < 8; 

Code funktioniert jetzt wie benötigt.