Hallo,
joachimd hat absolut Recht! Fange auf keine Fall an, solche Spielereien einzubauen!
Sofern ich deinen Code richtig verstanden habe, kann ich deinen Code mit einem einfachen Leerzeichen vor dem "
INSERT" aushebeln. Daneben gibt es noch weitere Möglichkeiten wie
GRANT oder
SET PASSWORD.
Einen read-only Benutzer zu erstellen sollte vom Aufwand nur unwesentlich ins Gewicht fallen, ist in Sachen Sicherheit aber wohl am einfachsten und besten. Achte aber auch hier darauf, dass der Benutzer auch nur die Spalten lesen kann die er lesen darf. Willst du beispielsweise unterbinden, dass ein Nutzer Passwörter auslesen kann, indem du einfach nur die gewünschten Spalten in eine Tabelle ausgibst, so ist dies genauso einfach über
SELECT password AS username zu erreichen.
Liebe Grüße,
Valentin