Mysql
 sql >> Datenbank >  >> RDS >> Mysql

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException MySQL-Fehler einfügen

Sinn und Zweck vorbereiteter Anweisungen ist unter anderem, Ihre Abfragen nicht selbst zu verketten.

Sie möchten Folgendes tun:

//first you "prepare" your statement (where the '?' acts as a kind of placeholder)
PreparedStatement st = con.prepareStatement("insert into user (user,age,school,password) values (?,?,?,?);");
//now you bind the data to your parameters
st.setString(1, user);
...
//and then you can execute it
st.executeUpdate()

Weitere Einzelheiten finden Sie im offiziellen Tutorial .

Es gibt ein paar Dinge, die hinter den Kulissen passieren, die die Abfrage sicher machen, wie z. B. das Escapezeichen von Sonderzeichen, die sonst eine Änderung der Anweisung ermöglichen würden (google SQL-Injektionen, wenn Sie mehr wissen möchten)