Basierend auf http://dev.mysql.com/doc/refman/5.0/en/create-table-select.html
Was:
Create Table New_Users Select * from Old_Users Where 1=2;
und wenn das nicht funktioniert, nur eine Zeile auswählen und nach der Erstellung gestutzt:
Create table New_Users select * from Old_Users Limit 1;
Truncate Table New_Users;
EDIT:
Ich habe Ihren Kommentar unten über die Notwendigkeit von Indizes etc. bemerkt. Versuchen Sie:
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;
Das sollte es tun. Es scheint, dass Sie dies tun, um Duplikate loszuwerden? In diesem Fall möchten Sie vielleicht einen eindeutigen Index für die ID setzen. Wenn es ein Primärschlüssel ist, sollte dies bereits vorhanden sein. Sie können entweder:
#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);
Beachten Sie, dass die Verwendung von 'LIKE' auch dazu führt, dass die neue Tabelle ähnliche Indizes aufweist. – Nav