Будучи новичком-самоучкой, я создал для себя большую проблему. Прежде чем вставлять данные в мою базу данных, я конвертировал апострофы (') в строку, чтобы удвоить кавычки ("") вместо требуемого обратного слэша и апострофа (\), которые на самом деле требуется MySQL.
До того, как мой стол вырастет более чем на 200 000 строк, я подумал, что лучше всего исправить эту проблему сразу. Поэтому я провел некоторое исследование и нашел функцию SQL REPLACE, которая отличная, но теперь я запутался.
В ASP я делал это:
str = Replace(str,"'","""")
Если я посмотрю на свою базу данных в SQL Workbench, преобразованный символ теперь представляет собой одиночную цитату ("), которая немного смутила меня. Я понимаю, почему она изменилась с двойного на одиночный, но я не знаю, я должен теперь меняться.
Чтобы выполнить и исправить мою проблему с помощью SQL REPLACE, я теперь конвертирую одиночные кавычки ( ") в обратную косую черту и апострофы (\) или конвертирую двойные кавычки (" ") в обратную косую черту и апострофы (\')?
Например, это:
SQL = " SELECT REPLACE(myColumn,"""","\'") FROM myTable "
или это:
SQL = " SELECT REPLACE(myColumn,""","\'") FROM myTable "
Надеюсь, я хорошо себя объяснил, любые предложения с благодарностью восприняли как всегда. Любые вопросы о моем вопросе, пожалуйста, прокомментируйте.
Большое спасибо
- ОБНОВЛЕНИЕ -
Я пробовал следующие запросы, но по-прежнему не могу изменить (") в данных:
SELECT REPLACE(caption,'\"','\'') FROM photos WHERE photoID = 3371
SELECT REPLACE(caption,'"','\'') FROM photos WHERE photoID = 3371
SELECT REPLACE(caption,'""','\'') FROM photos WHERE photoID = 3371
Но если я ищу:
SELECT COUNT(*) FROM photos WHERE caption LIKE '%"%'
Я получаю 16 150 строк.
- ОБНОВЛЕНИЕ 2 -
Ну, я создал "обходной путь". Мне удалось преобразовать целый столбец довольно быстро, написав ASP script, используя этот SQL:
SELECT photoID, caption FROM photos WHERE caption LIKE '%""%';
а затем в ASP я сделал:
caption = Replace(caption,"""","\'")
Но мне все же хотелось бы знать, почему я не смог добиться этого с помощью SQL?