Hello.

For changing one table, the recommended way is

  ALTER TABLE foo TYPE=MYISAM;

There is no built-in way to change several tables at once. I regulary
have the need to apply the same command to some tables. If you use
some UNIX shell, you can do something like this:

  mysql your_db -t -e "SHOW TABLE STATUS" | awk '/ ISAM / {print $2}'

That will give a list of tables of type ISAM. When you are sure that
you get the tables you want, change the awk command to

  ... | awk '/ ISAM / {print "ALTER TABLE "$2" TYPE=MYISAM;"}' 

When you are satisfied with the output (and maybe tested one line by
copy&paste), just append a call to the command line client after awk:

  ... | mysql your_db 


So the complete command line would be:

  mysql your_db -t -e "SHOW TABLE STATUS" \
  | awk '/ ISAM / {print "ALTER TABLE "$2" TYPE=MYISAM;"}' \
  | mysql your_db

HTH,

        Benjamin.


On Wed 2002-12-18 at 18:58:04 -0000, [EMAIL PROTECTED] wrote:
> I have about 300 database tables that are mostly ISAM and some MyISAM
> format. I would like to move them all into MyISAM - what's the
> easiest/quickest way? I am running 3.23.54.
> 
> I was thinking of doing mysqldump, then using a search/replace in the file
> CREATE TABLE .. TYPE=, then recreating the database files using mysql, but
> it seems a bit heavyhanded to me ;)
[...]

-- 
[EMAIL PROTECTED]

---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to