یه دیتا بیس داریم که 40-50 تا جدول توشه collation اینا رو میخوایم عوض کنیم.باید تک تک این کارو بکنیم؟ یا راهی هست که ه.همه رو با هم عوض کنیم؟
نمایش نسخه قابل چاپ
یه دیتا بیس داریم که 40-50 تا جدول توشه collation اینا رو میخوایم عوض کنیم.باید تک تک این کارو بکنیم؟ یا راهی هست که ه.همه رو با هم عوض کنیم؟
سلام.
اگر از سرور لینوکس و کنترل پنل Cpanel استفاده می کنید :
یک فایل php بسازید و این کدها رو داخلش ذخیره کنید. سپس فایل رو اجرا کنید (آدرس رو در مرورگر وارد کنید)
user_dbname : نام کامل دیتابیسکد:<?php
$db = mysql_connect('localhost','user_dbuser','dbpassword');
if(!$db) echo "Cannot connect to the database - incorrect details";
mysql_select_db('user_dbname'); $result=mysql_query('show tables');
while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysql_query("ALTER TABLE ".$value." COLLATE utf8_general_ci");
}
}
echo "The collation has been successfully changed !";
?>
( user نام کاربری شما (که برای ورود به Cpanel استفاده می کنید) و dbname نامی که برای دیتابیس انتخاب کردید )
user_dbuser : نام کامل کاربری هست که به دیتابیس دسترسی داره.
( user نام کاربری شما (که برای ورود به Cpanel استفاده می کنید) و dbuser نام کاربری که اجازه دسترسی به دیتابیس به اون دادید )
dbpassword : رمز عبور کاربر مربوطه که به دیتابیس دسترسی داره.
و به جای utf8_general_ci هم می تونید مجموعه کاراکتر دلخواه خودتون رو قرار بدید.
اگر از Cpanel استفاده نمی کنید، بسته به کنترل پنل ممکن هست نیاز به تغییر آدرس Mysql server (در اینجا localhost) داشته باشید.
توجه : قبل از ایجاد هرگونه تغییرات در دیتابیس ، حتما نسخه پشتیبان تهیه کنید.
یا علی