2013-08-13 8 views
-5

У меня есть база данных с таким количеством значений. Как я могу удалить указанную строку с помощью запроса.Удалить столбец из базы данных

Я использую следующий запрос для удаления. Я хочу удалить строку с помощью имени colum = user_name. (User_name = example).

Но пример с именем строки нет на table.is показывает error.Any if exist запрос для этого

preparedStatement = (PreparedStatement) connection.prepareStatement("DELETE FROM users WHERE IF EXISTS user_name=example"); 
     preparedStatement.executeUpdate(); 

Следующая ошибка происходит, когда я пытаюсь скомпилировать

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 'EXISTS user_name='example'' at line 1 
+1

удалить 'IF EXISTS', используйте user_name = 'пример' '' (с кавычками) и используйте 'подготовленныйStatement.executeUpdate()'. он не должен бросать какую-либо ошибку, даже если никакого результата – TecHunter

+0

Здесь вам не нужно «если существует». – Fildor

+0

Какая ошибка отображается? – Joetjah

ответ

0

Я думаю, что вы просто забыли апострофы, которые охватывают строковый литерал «пример»:

DELETE FROM users WHERE user_name='example'. 

«ГДЕ СУЩЕСТВУЕТ» здесь нет необходимости!

Привет

Кристофер

+0

Christopher Stock ... Я знаю этот код ... Он не будет работать, если '' example'' не содержится в столбце базы данных. Затем я пытаюсь использовать 'IF EXISTS' –

0

Я пытался здесь в моем компьютере так и работает отлично

PreparedStatement pt =con.prepareStatement("DELETE FROM users WHERE IF EXISTS user_name='"+"example'"); 
pt.executeUpdate(); 

Я сделал временную таблицу и запустить его

+0

. Я не вижу, как это может работать с вашими кавычками ... оно компилируется как 'user_name = '' example' – TecHunter

+0

@TecHunter я просто не копировал из кода здесь. Так неуместно 'здесь, в ответе – SpringLearner

+0

ya .... Я тоже не работаю для меня –

4
  • удалить IF EXISTS
  • использовать user_name='example' (с кавычками) или даже лучше user_name=? с PreparedStatement
  • использования preparedStatement.executeUpdate()

это не должно бросать какие-либо ошибки, даже если нет результата

+0

TecHunter ... я знаю этот код ... Это не будет работать, когда '' example'' не будет содержаться в столбце базы данных. Затем я попробую 'IF EXISTS' –

+0

@DeepuKrishna, а затем покажу мне ошибку, с которой вы столкнулись. по столбцу вы имеете в виду строку? – TecHunter

+0

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'EXISTS user_name =' 'example' в строке 1 –

Смежные вопросы