Ошибка в синтаксисе mysql

292
26 апреля 2017, 10:10

делаю запрос:

statm.executeUpdate("UPDATE sotrudniki SET id_emp=" + Frame.tbadd2.getValueAt(0, 0) + ", surname = '" + Frame.tbadd2.getValueAt(0, 1) + "', name = '"
            + Frame.tbadd2.getValueAt(0, 2) + "', patronymic = '" + Frame.tbadd2.getValueAt(0, 3) +"', id_positions = '" + Frame.tbadd2.getValueAt(0, 4) + "', id_vaccinations = '"
            + Frame.tbadd2.getValueAt(0, 5) + "', id_treatment = '" + Frame.tbadd2.getValueAt(0, 6) + "' WHERE id_emp = " + Frame.tbadd3.getValueAt(0, 0) + ", surname = '" + Frame.tbadd3.getValueAt(0, 1) + "', name = '"
            + Frame.tbadd3.getValueAt(0, 2) + "', patronymic = '" + Frame.tbadd3.getValueAt(0, 3) +"', id_positions = '" + Frame.tbadd3.getValueAt(0, 4) + "', id_vaccinations = '"
            + Frame.tbadd3.getValueAt(0, 5) + "', id_treatment = '" + Frame.tbadd3.getValueAt(0, 6) + "'");

tbadd2, 3 - таблицы

получаю:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' surname = '', name = '', patronymic = '', id_positions = '', id_vaccinations = ' at line 1

где ошибка?

просто запрос:

UPDATE sotrudniki
SET id_emp=3, surname = 'w', name = 'w', patronymic = 'w', id_positions = 'w',
    id_vaccinations = 'w', id_treatment = 'w' WHERE id_emp = 32, surname = 'q', name = 'q',
    patronymic = 'q', id_positions = 'q', id_vaccinations = 'q', id_treatment = 'q';

может быть из-за того, что id_emp - авто инкремент?

Запрос мускл:

UPDATE sotrudniki
SET id_emp=3, surname = 'w', name = 'w', patronymic = 'w', id_positions = 'w',
    id_vaccinations = 'w', id_treatment = 'w' WHERE id_emp = 32 AND surname = 'q' AND name = 'q'
    AND patronymic = 'q' AND id_positions = 'q' AND id_vaccinations = 'q' AND id_treatment = 'q';

Запрос в джава:

statm.executeUpdate("UPDATE sotrudniki SET id_emp=" + Frame.tbadd2.getValueAt(0, 0) + ", surname = '" + Frame.tbadd2.getValueAt(0, 1) + "', name = '"
            + Frame.tbadd2.getValueAt(0, 2) + "', patronymic = '" + Frame.tbadd2.getValueAt(0, 3) +"', id_positions = '" + Frame.tbadd2.getValueAt(0, 4) + "', id_vaccinations = '"
            + Frame.tbadd2.getValueAt(0, 5) + "', id_treatment = '" + Frame.tbadd2.getValueAt(0, 6) + "' WHERE id_emp = " + Frame.tbadd3.getValueAt(0, 0) + " AND surname = '" + Frame.tbadd3.getValueAt(0, 1) + "' AND name = '"
            + Frame.tbadd3.getValueAt(0, 2) + "' AND patronymic = '" + Frame.tbadd3.getValueAt(0, 3) +"' AND id_positions = '" + Frame.tbadd3.getValueAt(0, 4) + "' AND id_vaccinations = '"
            + Frame.tbadd3.getValueAt(0, 5) + "' AND id_treatment = '" + Frame.tbadd3.getValueAt(0, 6) + "'");

одно и тоже ведь

READ ALSO
NPE при записи файла. Разница между ObjectOutputStream и OutputStreamWriter

NPE при записи файла. Разница между ObjectOutputStream и OutputStreamWriter

Этот конструктор выполняется при создании экземпляра класса

340
Не создается таблица через hibernate

Не создается таблица через hibernate

В программе используется несколько подобных классов, но с ними проблем не возникаетНе создается только одна таблица

372
Краш приложения при десериализации

Краш приложения при десериализации

Результат работы первого приложения сериализуетсяВторое приложение десериализует полученный архив и падает

205