Найти и заменить (удалить) скрипт Adsense с помощью phpMyAdmin MySQL [duplicate]

Я всегда использую: https://www.mail-tester.com/

Он дает мне отзыв о технической части отправки электронной почты. Как SPF-записи, DKIM, счет Spamassassin и так далее. Несмотря на то, что я знаю, что требуется, я постоянно делаю ошибки, а mail-tester.com позволяет легко понять, что может быть неправильным.

219
задан shgnInc 1 December 2016 в 21:41
поделиться

7 ответов

Измените table_name и field в соответствии с вашим именем и полем в таблице:

UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE INSTR(field, 'foo') > 0;
  • REPLACE (строковые функции)
  • INSTR (строковые функции)
424
ответ дан T30 15 August 2018 в 21:10
поделиться
  • 1
    UPDATE [имя_таблицы] SET [имя_поля] = REPLACE ([field_name], "foo", "bar"); – Meetai.com 1 February 2013 в 08:49
  • 2
    Я думаю, что быстрее не использовать WHERE instr(field, 'foo') > 0; (чтобы он не выполнял 2 запроса) ... Я не прав? – inemanja 29 November 2013 в 18:32
  • 3
    @treddell, никакие позиции не начинаются с 1 в строках SQL. – Alexis Wilke 25 June 2015 в 03:36
  • 4
    @inemanja, @Air без предложения WHERE, вы делаете UPDATE во всех строках ... – Alexis Wilke 25 June 2015 в 03:37
  • 5
    Как и Pring, если вы собираетесь оставить такой комментарий, вы можете объяснить, почему. Было ли ошибкой первоначальный совет или ошибка с вашей стороны? И вы знаете, что прежде чем делать какие-либо радикальные изменения в базе данных, вы должны сначала создать резервную копию? – pdwalker 12 January 2017 в 07:35

И если вы хотите искать и заменять в зависимости от значения другого поля, вы можете сделать CONCAT:

update table_name set `field_name` = replace(`field_name`,'YOUR_OLD_STRING',CONCAT('NEW_STRING',`OTHER_FIELD_VALUE`,'AFTER_IF_NEEDED'));

Просто для этого здесь, чтобы другие могли найти его сразу.

5
ответ дан basdog22 15 August 2018 в 21:10
поделиться

По моему опыту, самый быстрый метод -

UPDATE table_name SET field = REPLACE(field, 'foo', 'bar') WHERE field LIKE '%foo%';

. Способ INSTR() является вторым самым быстрым и опускающим предложение WHERE в целом медленнее, даже если столбец не проиндексирован.

0
ответ дан Gaspy 15 August 2018 в 21:10
поделиться

Функция Replace будет делать это.

1
ответ дан Nathan Tuggy 15 August 2018 в 21:10
поделиться
  • 1
    Работает на меня. Это зависит от того, как вы интерпретируете этот вопрос. Если вам нужны записи базы данных для изменения, используйте update. В противном случае это решение намного лучше, поскольку его можно использовать без обновления полей. – Gruber 29 August 2012 в 10:38

Я использовал приведенную выше командную строку следующим образом: update TABLE-NAME set FIELD = replace (FIELD, 'And', 'and'); целью было заменить And with и («A» должно быть строчным). Проблема в том, что он не может найти «И» в базе данных, но если я использую «% и%», то он может найти его вместе со многими другими и, которые являются частью слова или даже теми, которые уже имеют нижний регистр.

0
ответ дан Schwann 15 August 2018 в 21:10
поделиться
UPDATE table_name 
SET field = replace(field, 'string-to-find', 'string-that-will-replace-it');
77
ответ дан Thamaraiselvam 15 August 2018 в 21:10
поделиться
  • 1
    Помог мне. Для всех noobs удалите квадратные скобки. – Anantha Raju C 3 August 2017 в 04:40
 UPDATE table SET field = replace(field, text_needs_to_be_replaced, text_required);

Как, например, если я хочу заменить все вхождения Джона Mark, я буду использовать ниже,

UPDATE student SET student_name = replace(student_name, 'John', 'Mark');
5
ответ дан Umesh Patil 15 August 2018 в 21:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: