Първо, съпоставянето на шаблони с REGEXP е независимо от главните букви. Така че трябва да използвате BINARY.
Не съм сигурен дали има по-добър начин да направите това в MySQL, но това е един. Изпълнете следните заявки за всяка от азбуката от A до Z. Дадох заявките за A, B, C, D, E, Y и Z. Моля, копирайте за всички останали азбуки. След като завършите изпълнението на всички, ще имате интервал между собственото и фамилното име
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'A', ' A'))
WHERE `post_title` REGEXP BINARY '[A]';
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'B', ' B'))
WHERE `post_title` REGEXP BINARY '[B]';
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'C', ' C'))
WHERE `post_title` REGEXP BINARY '[C]';
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'D', ' D'))
WHERE `post_title` REGEXP BINARY '[D]';
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'E', ' E'))
WHERE `post_title` REGEXP BINARY '[E]';
...
...
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'Y', ' Y'))
WHERE `post_title` REGEXP BINARY '[Y]';
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'Z', ' Z'))
WHERE `post_title` REGEXP BINARY '[Z]';
Моля, обърнете внимание на използването на BINARY в горните примери за заявки.
Друг начин може да бъде да напишете PHP скрипт за четене на всички post_title
и след това използвайте мощни функции за регулярни изрази на PHP, за да добавите интервали и да ги актуализирате обратно в базата данни.
Надявам се това да помогне!
РЕДАКТИРАНЕ :О! Забравих, че базата данни също има записи с интервали и те трябва да бъдат игнорирани. Моля, вместо това използвайте тази заявка:
UPDATE `wp_posts`
SET `post_title` = TRIM(REPLACE(`post_title`, 'A', ' A'))
WHERE `post_title` REGEXP BINARY '[^ ][A]';