Je dois copier une ligne basée sur une condition (where clause), à partir d'une table, créer une entrée dupliquée dans la même table et mettre à jour une seule colonne (une foreign_key) . Mais parce que "select * from Table_name" retourne tous les champs, y compris primary_key, il n'est pas capable d'insérer une nouvelle ligne error: duplicate key.copier la ligne dans la même table et mettre à jour une seule colonne dans MySQL
Je ne connais pas toutes les colonnes de la table, donc je ne peux pas ignorer primary_key en ne donnant que les noms de colonne requis dans la requête select. Existe-t-il un moyen d'ignorer la clé primaire de la récupération elle-même .. ou puis-je récupérer la ligne entière et définir la valeur de la clé primaire sur null, puis insérer la ligne dans la table afin qu'elle incrémente automatiquement la clé primaire être ajouté.
Merci.
Merci, Mike .. Pourquoi je ne sais pas la colonne les noms sont parce que, j'écris une procédure stockée générique pour effectuer le même genre d'opération sur plusieurs genres différents de table que j'ai. Donc, je vais juste savoir le nom de la table et "where clause" à utiliser qui sera le même pour toutes les tables. – shailesh
@shailesh: D'accord, l'approche SQL dynamique peut fonctionner pour vous, mais mon avertissement est toujours valable. Bonne chance :-) – Mike
Hey Mike, Il ne semble pas qu'il y ait une meilleure alternative .. J'utilise ceci .. Merci encore .. – shailesh