Я знаю, что это было задано во многих аспектах, но я просто не в состоянии это сделать.Как избежать обратных косых черт в mysql с помощью JDBC?
Я хочу вставить что-то вроде \mytext
в базу данных mysql, используя JDBC. Я попытался использовать метод замены Java String, чтобы найти все обратные косые черты и превратить их в двойные обратные косые черты. В самой Java, я должен бежать каждый обратный слэш на двойной обратной косой черты, так что в моем понимании это должно быть это:
String sqlProcessed = sqlString.replace("\\", "\\\\")
Результирующая строка Я посылаю к базе данных с помощью вставки заявление, в окружении «одинарные кавычки "как это:
String query = "INSERT INTO table VALUES ('" + sqlProcessed + "')";
Однако, вместо того чтобы показывать ожидаемый результат, я получаю двойной обратный слеш в базе данных, то есть \\mytext
. С другой стороны, без обработки обратная косая черта просто опускается, т. Е. Я получаю mytext
в базе данных.
Что я делаю неправильно?
Вы пытались заменить _to_ '\\\\' (три обратной косой черты)? – marekful
@marekful Вы имеете в виду следующее: replace ("\\", "\\\")? Java не позволяет этого, третья обратная косая черта интерпретируется, чтобы избежать кавычек, которые вызывают меня из строки. –