Инструкция INSERT sql в сочетании с SELECT и WHERE

Я пытаюсь вставить эти значения в базу данных, однако предложение INSERT и WHILE несовместимо друг с другом. У кого-нибудь есть идеи, как я мог бы достичь желаемых результатов по-другому.

public boolean updateAns()
{
    boolean success=true;
    DBController db=new DBController();
    db.setUp("IT Innovation Project");
    String sql="INSERT INTO kioskSurveyAns(survey_qn1,survey_qn2,survey_qn3) VALUES('"+radioText+"','"+radioText1+"','"+radioText2+"')SELECT survey_qn1,survey_qn2,survey3 FROM kioskSurveyAns WHERE survey_nric='"+nric+"'";

    if (db.updateRequest(sql) == 1)
    success = true;
    db.terminate();
    return success;
}
2
nl ja de
это помощь?
добавлено автор TheWhiteRabbit, источник
Здесь вы делаете большую ошибку! Никогда не создавайте SQL-запрос, объединяя строки, предоставленные пользователем. В противном случае ваше приложение будет уязвимым для SQL-инъекций .
добавлено автор Philipp, источник
вы можете обновить строку.
добавлено автор Mithun Sen, источник

1 ответы

Если вы используете инструкцию INSERT INTO ... SELECT , на ней не должно быть ключевого слова VALUES , потому что значение, которое будет вставлено, поступает из SELECT код>. например

INSERT INTO tableName (col1, col2)
SELECT col1, col2
FROM tableX
WHERE....

но, оглядываясь на ваш запрос, вы хотите UPDATE строки на основе значений элементов управления. правильно?

UPDATE kioskSurveyAns
SET    survey_qn1 = 'rad1',
       survey_qn2 = 'rad2',
       survey_qn3 = 'rad3'
WHERE  survey_nric= = 'richere'

As a sidenote, the statement is vulnerable with SQL Injection. Please do parameterized your query using PreparedStatements

3
добавлено
единственные записи, которые будут обновляться, - это когда значение, которое вы ищете, соответствует этому столбцу survey_nric
добавлено автор John Woo, источник
да, вы можете, каков запрос, который вы выполнили?
добавлено автор John Woo, источник
Я попытался использовать инструкцию UPDATE, однако данные не были записаны. Я думаю, это потому, что ранее не было данных.
добавлено автор Andrew, источник
Сначала я вставляю нулевое значение в базу данных, а затем обновляю его. Однако я не могу обновить значение null в базе данных до нового значения. Я использовал инструкцию update, но она не работает. Любые гиды?
добавлено автор Andrew, источник
INSERT INTO kioskSurveyAns (survey_nric, survey_phNo, survey_ans1, survey_an & zwnj; s2, survey_ans3, surveillance & zwnj; y_ans4, survey_ans5, s & zwnj; urvey_ans6, survey_an & zwnj; s7, survey_ans8, surveillance & zwnj; y_ans9, survey_ans10, & zwnj; survey_ans11, survey_ & zwnj; Ans12) "; sql + =" VALUES ('"+ nric +"', '"+ phNo +"', '"+ null +"', '"+ null +"', '"+ null +"', '"+ n & zwnj; Улла + " ' ' "+ нуль +"', ' "& ZWNJ + нуль +"', ' "+ нуль +"', & ZWNJ; ' "+ нуль +"', ' "+ нуль +" & ZWNJ;',' «+ нуль +», '+ нуль & ZWNJ; +', '+ нуль +') ";
добавлено автор Andrew, источник
и обновить: "UPDATE kioskSurveyAns SET survey_ans4 = '" + radioText + "', survey_ans5 = '" + radioText1 + "', survey_ans6 = '" + radioText2 + "' WHERE survey_nric = '" + nric + "'";
добавлено автор Andrew, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

SqlCom.ru - Стиль жизни SQL
SqlCom.ru - Стиль жизни SQL
908 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только MS SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz). Предложения в @sql_ninja

SQL_Ninja
SQL_Ninja
340 участник(ов)

Правила чата - https://t.me/sqlcom/88269 @sqlcom - основной канал (только SQL) @sql_ninja - второй канал (SQL вопросы начального уровня и свободное общение) @Gopnegbot - Викторина по SQL Server (наберите в привате /quiz)

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async