120 votes

Créer une table (structure) à partir d'une table existante

Comment créer une nouvelle table dont la structure doit être identique à celle d'une autre table ?

J'ai essayé

CREATE TABLE dom AS SELECT * FROM dom1 WHERE 1=2

mais il ne fonctionne pas, une erreur s'est produite

194voto

Kevin Crowell Points 5180

Essayez :

Select * Into <DestinationTableName> From <SourceTableName> Where 1 = 2

Notez que cela ne copiera pas les index, les clés, etc.

Si vous voulez copier le tout le site vous devez générer un Create script de la table. Vous pouvez utiliser ce script pour créer une nouvelle table avec la même structure. Vous pouvez ensuite également vider les données dans la nouvelle table si vous en avez besoin.

Si vous utilisez Enterprise Manager, il suffit de cliquer avec le bouton droit de la souris sur la table et de sélectionner copier pour générer un Create script.

59voto

DanielM Points 91

C'est ce que j'utilise pour cloner la structure d'une table (colonnes seulement)...

SELECT TOP 0 *
INTO NewTable
FROM TableStructureIWishToClone

40voto

Copie de la structure uniquement (copie de toutes les colonnes)

Select Top 0 * into NewTable from OldTable

Copie de la structure uniquement (copie de quelques colonnes)

Select Top 0 Col1,Col2,Col3,Col4,Col5 into NewTable from OldTable

Copier la structure avec les données

Select * into NewTable from OldTable

Si vous avez déjà une table avec la même structure et que vous voulez juste copier les données, utilisez ceci

Insert into NewTable Select * from OldTable

25voto

POUR MYSQL :

Vous pouvez utiliser :

CREATE TABLE foo LIKE bar;

Documentation ici .

16voto

GIRDHAR SINGH Points 21
Create table abc select * from def limit 0;

Cela va définitivement fonctionner

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X