120 votes

INSÉRER DANS... SELECT pour toutes les colonnes MySQL

J’essaie de déplacer d’anciennes données à partir de :

copier toutes les colonnes. J’ai essayé ceci, mais cela ne fonctionne pas:

Remarque : les tables sont identiques et ont `` été définies comme clé primaire.

219voto

Mark Byers Points 318575

La syntaxe correcte est décrite dans le manuel. Essayez ceci :

Si les colonnes id sont une colonne à incrémentation automatique et que vous avez déjà des données dans les deux tables, vous pouvez dans certains cas omettre l’ID de la liste des colonnes et générer de nouveaux ID à la place pour éviter d’insérer un ID qui existe déjà dans la table d’origine. Si votre table cible est vide, cela ne posera pas de problème.

80voto

RichardTheKiwi Points 58121

Pour la syntaxe, cela ressemble à ceci (laissez de côté la liste des colonnes pour signifier implicitement « tous »)

Pour éviter les erreurs de clé primaire si vous avez déjà des données dans la table d’archivage

23voto

Pratik Points 10054

Ajout à la réponse de Mark Byers :

Parfois, vous souhaitez également insérer des détails codés en dur, sinon il peut y avoir un échec de contrainte unique, etc. Utilisez donc la suite dans une telle situation où vous remplacez certaines valeurs des colonnes.

Ici, la valeur du domaine est ajoutée par moi de manière codée en dur pour se débarrasser de la contrainte unique.

4voto

Daniel Casserly Points 1826

n’avez-vous pas besoin de double () pour le bit de valeurs ? sinon essayez ceci (bien qu’il doit y avoir un meilleur moyen

0voto

Devendra Dode Points 41

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