MySQL: Comment insérer un enregistrement pour chaque résultat d'une requête SQL?
Dire que j'ai un select
SELECT DISTINCT id, customer_id, domain FROM config WHERE type = 'foo';
qui renvoie des enregistrements.
Comment puis-je faire un insert pour atteindre la ligne dans le jeu de résultats comme
INSERT INTO config (id, customer_id, domain) VALUES (@id, @customer_id, 'www.example.com');
où @id
et @customer_id
sont les champs de la ligne dans le jeu de résultats?
edit: je ne tiens pas à le reproduire, mais l'insertion d'une nouvelle valeur dans le champ domain
à la place. Néanmoins un facepalm-situation telle qu'elle est simplement facile 😉 Merci!
- Vous souhaitez dupliquer les enregistrements que vous avez choisie?
- Pourquoi êtes-vous d'insérer les enregistrements de la même table en même table? Cela permettra de créer des doublons
- Désolé les gars, cette question a été assez stupide, j'étais coincé avec un très simple problème facepalm
- Tout le monde a besoin d'un copain pour répondre à leurs questions chaque maintenant et encore. Pour votre effort, je prix: [nerdmeritbadges.com/products/rubberduck]
- J'ai le même problème. Par exemple, la façon dont la table est conçu, j'ai besoin de répliquer d'un autre utilisateur entrées, mais il y a 356 dossiers j'ai besoin de répliquer à un nouvel utilisateur.
Vous devez vous connecter pour publier un commentaire.
Aussi simple que cela :
Si vous voulez "
www.example.com
" que le domaine, vous pouvez le faire :domain
mis à 'www.example.com', tout simplement, il duplique toutes les entrées.La documentation de MySQL pour cette syntaxe est ici:
http://dev.mysql.com/doc/refman/5.1/en/insert-select.html
MODIFIER- Après lecture du commentaire sur @Krtek de réponse.
Je suppose que vous demandez une mise à jour à la place de l'insertion -
Cela permettra de mettre à jour tous les enregistrements existants dans la table de configuration de domaine comme 'www.example.com' sans créer de doublons.
VIEILLE RÉPONSE -
vous pouvez utiliser quelque chose comme -
Remarque:- Cela ne fonctionnera pas si vous avez des id comme clé primaire
Exécuter cette instruction SQL:
Vous souhaitez sélectionner des lignes distinctes de "config", et insérez ces mêmes lignes dans la même table. Ils sont déjà là. Rien à faire.
Sauf si effectivement tu veux juste mettre à jour certaines ou toutes les valeurs dans le "domaine" de la colonne. Qui aurait besoin d'une instruction de mise à JOUR qui a vraiment fait quelque chose.