Я вижу примеры замены SQL
в базах данных MySQL / MariaDB:
UPDATE wp_posts SET post_content = REPLACE(post_content, ' ', ' ');
... но это утверждение выдает ошибку:
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to
use near '' )' at line 1
Я вижу ''
и )'
- я пытался избежать точки с запятой с обратной косой чертой \
:
UPDATE wp_posts SET post_content = REPLACE(post_content, ' \;', ' ');
... но получите примерно ту же ошибку. На самом деле, я вижу много примеров SQL для MySQL / MariaDB, и они не экранируют ни точку с запятой, ни амперсанд.
EDIT
@ Barmar рекомендует запускать SQL из командной строки. Я вошел в MariaDB и вошел в «use mydatabase». Приглашение изменилось, чтобы указать текущий дБ, и я ввел команду, как указано выше. Команда была принята без ошибок, найдено более 2300 совпадений, но ничего не изменилось:
MariaDB [mydatabase]> UPDATE wp_posts SET post_content = REPLACE(post_content, 'Â ', ' ');
Query OK, 0 rows affected (0.25 sec)
Rows matched: 2330 Changed: 0 Warnings: 0
Почему ничего не изменилось?
РЕДАКТИРОВАТЬ - Включить ГДЕ
Я все больше и больше путаюсь. Из phpMyAdmin :
SELECT * from wp_posts WHERE post_content LIKE '%Â %';
<< == Возвращает 1715 строк </p>
Еще и в phpMyAdmin:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'Â ', ' ') WHERE post_content LIKE '%Â %';
<< == Возвращает 0 подходящих строк </p>
Из CLI:
SELECT COUNT(*) from wp_posts WHERE post_content LIKE 'Â ';
<< == Возвращает 0 </p>
SELECT COUNT(*) from wp_posts WHERE post_content LIKE 'Â';
<< == Возвращает 8 </p>
Я совершенно заблудился, что думать об этих различиях. Наверняка я знаю, что фанки Â
существуют во всех моих wp_posts. Я могу видеть это в данных, используя phpMyAdmin.