جایگزینی متن در MySQL
جایگزینی متن در دیتابیس یکی از رایجترین کارها هنگام انتقال سایت، تغییر دامنه، تغییر HTTP به HTTPS یا اصلاح دستهجمعی محتواست. تابع REPLACE() در MySQL این کار را انجام میدهد.
دستور REPLACE
UPDATE table_name
SET column_name = REPLACE(column_name, 'old_text', 'new_text');
مثالهای کاربردی
تغییر دامنه سایت
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://old-domain.com', 'https://new-domain.com');
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://old-domain.com', 'https://new-domain.com');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://old-domain.com', 'https://new-domain.com');
تغییر HTTP به HTTPS
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://', 'https://') WHERE post_content LIKE '%http://yourdomain.com%';
حذف یک متن
UPDATE wp_posts SET post_content = REPLACE(post_content, 'متن قدیمی', '');
تغییر مسیر تصاویر
UPDATE wp_posts SET post_content = REPLACE(post_content, '/wp-content/uploads/old/', '/wp-content/uploads/new/');
جایگزینی در phpMyAdmin
وارد phpMyAdmin شوید. دیتابیس انتخاب و تب SQL بزنید. کوئری REPLACE وارد و Go بزنید.
هشدارهای مهم
حتماً قبل از اجرا بکاپ بگیرید! REPLACE حساس به حروف بزرگ/کوچک نیست (در collation پیشفرض). REPLACE روی serialized data مشکل ایجاد میکند — برای وردپرس از WP-CLI search-replace یا افزونه Better Search Replace استفاده کنید. ابتدا با SELECT تست کنید:
SELECT * FROM wp_posts WHERE post_content LIKE '%old_text%';
WP-CLI (بهترین برای وردپرس)
wp search-replace 'old_text' 'new_text' --all-tables --dry-run
wp search-replace 'old_text' 'new_text' --all-tables
هاست وردپرس میهن هاستینگ با phpMyAdmin و بکاپ خودکار. سرور مجازی با WP-CLI.