var sidebar_align = 'right';
var content_container_margin = parseInt('290px');
var sidebar_width = parseInt('270px');
How to alter all tables in MYSQL with only one command
Tried and tried could not find the command
I have this
ALTER TABLE table_name_goes_here CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
but if I use it I have to do with all tables
how can I use the above command in a way to change all tables
in one particular database
$tbls = array('t1','t2','t3','t4');
foreach ($tbls as $t)
$query = "ALTER ".$t."CONVERT ..... ";
$res = mysql_query($query);
You need the ALTER privilege for that.
Tested. Works. Depending on how many tables are in the database it can take a few moments. My database had 76 tables and it took about 20 seconds.
// your connection
// convert code
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res))
foreach ($row as $key => $table)
mysql_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci");
echo $key . " => " . $table . " CONVERTED<br />";
Last edited by etogre; 03-28-2008 at 02:54 PM.
thanks a lot
what should I put here is this correct?
so I make a php and run it in my browser?
yep, just edit that part like you did, stick it in a PHP file and then run it.
You will recieve output like this, and you will know it has run fine:
0 => tablename CONVERTED
Tables_in_dbname => tablename CONVERTED
0 => table2 CONVERTED
Tables_in_dbname => table2 CONVERTED
Last edited by etogre; 03-29-2008 at 01:20 AM.
Just wanted to say THANKS!!!! I lost almost 10 hours trying to solve a problem with UTF8 in my MySQL base ... and you definately saved a lot of my nerves!
FYI...provided you have the PHP CLI binary...you should just be able to do this on the command line:
# php myScript.php
You can use heidisql. it has a bulk table editor. u can alter all table at a time. heidisql is totally free.... thnx
Related Posts from theWHIR.com