Erreur dans votre MySQL SQL syntaxe

Je suis d'essayer d'insérer un enregistrement dans ma base de données MySQL, le dossier doit être inséré dans le tableau medication_profile, mais j'ai cette erreur qui dit :

Exception in thread "main"
com.mysql.jdbc.des exceptions.jdbc4.MySQLSyntaxErrorException:
Vous avez une erreur dans votre syntaxe SQL; consultez le manuel
correspond à votre versions du serveur MySQL pour la bonne syntaxe à utiliser près de
'medication_type, diabetic_id, times_a_day, dose) VALUES ('injections',2,1,'18')'
à la ligne 1

Le code je suis à l'aide de java pour insérer ce disque est comme suit:

PreparedStatement addMedicationStm = con.prepareStatement("INSERT INTO medication_profile"
            + ", medication_type, diabetic_id, times_a_day, dose) "
            + "VALUES (?,?,?,?))", Statement.RETURN_GENERATED_KEYS);
    addMedicationStm.setString(1, medication.getMedicationType());
    addMedicationStm.setInt(2, medication.getDiabeticID());
    addMedicationStm.setInt(3, medication.getTimesPerDay());
    addMedicationStm.setString(4, medication.getDose());
    addMedicationStm.executeUpdate();

    ResultSet rs = addMedicationStm.getGeneratedKeys();

    if (rs != null && rs.next()) {
        medication.setDiabeticID(rs.getInt(1));
        addMedicationStm.close();
        con.close();
    }

Je ne trouve pas où est l'erreur, que je vois l'insérer syntaxe est correcte

des suggestions?

merci d'avance

  • Il y a quelques fautes de frappe dans votre requête MySQL. Il n'y a pas de parenthèse ouvrante. Merci de prendre un regard pensif sur votre code avant de juste copypasting à StackOverflow.
  • Il vous manque une ouverture ( après medication_profile je crois, et vous avez un ) trop, à la fin de l'instruction SQL trop.
  • Votre déclaration lit INSERT INTO medication_profile, medication_type, diabetic_id, times_a_day, dose) VALUES (?,?,?,?)). Et tu ne vois vraiment pas l'erreur?
  • veuillez visiter Comment Demander
  • dans de tels cas, merci de les signaler question hors-sujet. Bientôt, vous serez en mesure de voter pour le fermer.
InformationsquelleAutor Ali Alhamaly | 2015-05-09