I need to duplicate a table in MySQL, making the new table empty. That is, I need to copy only the structure of an existing table to a new one.
2 Answers
Try the create table LIKE syntax.
create table users2 like users;
This should give you an empty table (users2) with the same structure as the original (users).
-
thanks sir but how about creating the same table and changing the table type from InnoDB to MYISAM at the same time?– GianFSCommented Jan 18, 2013 at 1:03
-
4You'd have to do that in two steps - either run a
SHOW CREATE TABLE
and modify the output to suit you, or run aCREATE TABLE LIKE
followed by anALTER TABLE
. Commented Jan 18, 2013 at 22:41
There is also another way to create a empty table as existing table and you can use the following command also
create table a select * from users2 limit 0, 0;
-
3
-
1Just FYI: doing this will NOT copy the indices.– user499054Commented May 28, 2014 at 15:08