How to copy table between two models in Mysql workbench?

DraculaW picture DraculaW · Jun 15, 2013 · Viewed 61.5k times · Source

I am doing some databese thing, I need copy one table from one model to another, but i try many ways there no effect. Is there any way for doing this?

Answer

Ricky Hewitt picture Ricky Hewitt · Aug 26, 2014

If you just want to do a single table through the MySQL Workbench.

In MySQL Workbench:

  1. Connect to a MySQL Server
  2. Expand a Database
  3. Right Click on a table
  4. Select Copy To Clipboard
  5. Select Create Statement

A create statement for the table will be copied to your clipboard similar to the below:

   CREATE TABLE `cache` (
  `cid` varchar(255) NOT NULL DEFAULT '',
  `data` longblob,
  `expire` int(11) NOT NULL DEFAULT '0',
  `created` int(11) NOT NULL DEFAULT '0',
  `headers` text,
  `serialized` smallint(6) NOT NULL DEFAULT '0',
  PRIMARY KEY (`cid`),
  KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Create the table in the new database

  1. Open a new SQL tab for executing queries (File->New Query Tab)
  2. Alter the create table code to include the database to create the table on.

     CREATE TABLE `databaseName`.`cache` (
      `cid` varchar(255) NOT NULL DEFAULT '',
      `data` longblob,
      `expire` int(11) NOT NULL DEFAULT '0',
      `created` int(11) NOT NULL DEFAULT '0',
      `headers` text,
      `serialized` smallint(6) NOT NULL DEFAULT '0',
      PRIMARY KEY (`cid`),
      KEY `expire` (`expire`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

  3. Then click the Execute button (looks like a lightening Bolt)

That will copy the table schema from one db to another using the MySQL workbench. Just refresh the tables in the database and you should see your newly added table