и заблаговременно за любую помощь. Я работаю над исправлением всех неработающих ссылок в массивной базе данных многозадачности WordPress и вам нужна помощь в написании SQL-запроса для запуска через PHP MyAdmin. Я искал, но не может идеальное решение ...Нужна помощь по SQL-запросам: как искать и заменять конкретный текст LIKE x И НЕ НРАВИТСЯ xx
ПРОБЛЕМА: У нас есть более тысячи битых ссылок, которые начинаются с HTTP:/вместо HTTP: //
CHALLENGE: Следующий будет результатом многочисленных связей, начиная с http:///
UPDATE wp_1_posts
SET post_content = replace (post_content,
'http:/',
'http://');
ПРОЦЕССА: Я хочу написать запрос, чтобы выбрать все эти ссылки первый, так что я могу рассмотреть их, чтобы гарантировать, что я не делаю каких-либо повреждений при замене строки текста. Загрузка дампа db и выполнение руководства S & R не является вариантом, так как мы говорим о базе данных с несколькими гигабайтами.
Я думал, что-то, как это будет работать ...
SELECT * FROM wp_1_posts
WHERE post_content LIKE '%http:/%'
AND WHERE post_content NOT LIKE '%http://%'
Но это просто бросает синтаксическую ошибку. Я даже близко?
ВОПРОС № 1: Как найти все экземпляры «http: /», не возвращая все экземпляры «http: //» в результатах запроса.
ВОПРОС # 2: Как я могу безопасно исправить все экземпляры «http: /», не затрагивая строки «http: //».
FYI: Я признаю, что достаточно знаю об этом, чтобы быть опасным, и я не знаком с регулярными выражениями. в. все. Вот почему я обращаюсь к вам за помощью. Еще раз спасибо!
Второй 'WHERE' должны быть удалены. У вас есть предложение where с несколькими условиями. Это базовый синтаксис SQL, а не специфический для MySQL, не говоря уже о Wordpress, MyAdmin или multisite. – GolezTrol
Одним из возможных решений может быть первое обновление 'http: //' to 'http: /'. После этого вы можете снова заменить 'http: /' на 'http: //'. Это простое решение, если вы не знакомы с регулярным выражением, и большинство URL-адресов в любом случае неверны. Если только 10 в миллионе ошибаются, то это неправильный путь, так как вы сначала сломаете их все. – GolezTrol
@GolezTrol Спасибо за быстрый ответ! Следующий вернулся и пустой результирующий набор, хотя приложение, которое я использовал, чтобы найти плохие ссылки выявлены многочисленные HTTP:/URLs ... SELECT * FROM wp_1_posts ГДЕ POST_CONTENT LIKE '% HTTP: /%' И POST_CONTENT не нравится " % http: //% ' – jcnjr