Parfois, si je veux copier rapidement les enregistrements d'une table à une autre (qui a la même structure) J'utilise une requête comme ceci:MySQL: Mise à jour toutes les colonnes avec des valeurs d'une table séparée
INSERT INTO table2 SELECT * FROM table1 WHERE id = some_value
Comment puis-je ajouter un Duplicate KEY UPDATE à cette déclaration? J'ai essayé ceci:
INSERT INTO SELECT * FROM table1 OÙ id = 1 Duplicate KEY SELECT MISE À JOUR * FROM table1 WHERE id = 1
Mais je reçois une erreur. Est-il parti pour accomplir la requête ci-dessus sans énumérer individuellement chaque colonne dans la requête?
P.S. Oui, je me rends compte que ce n'est pas une bonne pratique d'avoir plusieurs tables avec des structures identiques, mais parfois on ne contrôle pas tout sur le lieu de travail!
S'il vous plaît montrer la structure des tables (ou les parties correspondantes, en particulier la définition de la clé qui ne peut pas être dupliquée), avec peut-être un exemple de ligne. – mjv