Вопросы по удалению строки с двойными кавычками и подготовленным оператором в SQL - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь удалить строку в SQL с теми же bookID и userID, но, поскольку мои bookID, сохраненные с двойной кавычкой, обычное удаление не будет совпадать. Что я должен делать? Спасибо.

String deleteString = "DELETE FROM booksFavourite WHERE userID=? AND bookID=?;";

    try {
        conn = DriverManager.getConnection("someLink");
        ps = conn.prepareStatement(deleteString);
        ps.setInt(1, userID);
        ps.setString(2, bookID);
        int r = ps.executeUpdate();
    }//try 

...

вот моя таблица sql

1 Ответ

1 голос
/ 04 ноября 2019

Вы можете обрезать bookID, чтобы он соответствовал вашему параметру.

 String deleteString = "DELETE FROM booksFavourite WHERE userID=? AND trim(both '\"' from bookID)=?;";

или

Вы можете concat " на вашемпараметр для сопоставления в вашем bookID

   String deleteString = "DELETE FROM booksFavourite WHERE userID=? AND bookID=concat('\"', ?, '\"');";
...