Sulla base http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html
Che dire:
Create Table New_Users Select * from Old_Users Where 1=2;
e se questo non funziona, basta selezionare una riga e troncare dopo la creazione:
Create table New_Users select * from Old_Users Limit 1;
Truncate Table New_Users;
EDIT:
Ho notato il tuo commento qui sotto sulla necessità di indicizzare, ecc. Prova:
show create table old_users;
#copy the output ddl statement into a text editor and change the table name to new_users
#run the new query
insert into new_users(id,name...) select id,name,... form old_users group by id;
Che dovrebbe farlo. Sembra che tu stia facendo questo per sbarazzarti dei duplicati? In tal caso potresti voler inserire un indice univoco su id. se è una chiave primaria, dovrebbe essere già presente. È possibile:
#make primary key
alter table new_users add primary key (id);
#make unique
create unique index idx_new_users_id_uniq on new_users (id);
fonte
2012-04-13 20:09:40
Si noti che l'uso di 'LIKE' renderà la nuova tabella con indici simili. – Nav