Mysql : copier une valeur vers un autre champ
Résolu
new morning
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
Etranger -
Etranger -
Bonjour,
J'ai 2 tables de structure identique (source et copie). Je veux copier toutes les valeurs d'un enregistrement de source vers la table copie.
Hors, si je fais
Je me retrouve avec l'erreur courante
Je pense que c'est lié au fait que l'index ne peut pas être copié. Pour contourner, je peux bien sûr écrire
Mais c'est un peu longuet...
Peut on sélectionner "tout sauf le champs "id" " ?
J'ai 2 tables de structure identique (source et copie). Je veux copier toutes les valeurs d'un enregistrement de source vers la table copie.
Hors, si je fais
INSERT INTO copie SELECT * FROM source WHERE id=1
Je me retrouve avec l'erreur courante
#1136 - Column count doesn't match value count at row 1
Je pense que c'est lié au fait que l'index ne peut pas être copié. Pour contourner, je peux bien sûr écrire
INSERT INTO copie SELECT (champs_1, champs_2, champs_3, ... champs_n) FROM source WHERE id=1
Mais c'est un peu longuet...
Peut on sélectionner "tout sauf le champs "id" " ?
Configuration: Linux Firefox 3.0.8
A voir également:
- Could not connect to mysql! please check your database settings!
- Borland database engine - Télécharger - Édition & Programmation
- Could not connect to server iptv - Forum TV & Vidéo
- Warning your dimm1 and dimm2 module organization is not same please check it - Forum PC portable
- Vb6fr.dll could not be found - Forum Windows
- Check cable connection ✓ - Forum PC portable
2 réponses
A première vue je pense que la solution que donne ton lien est bonne. Cependant dans mon cas c'est plus trivial que ça : j'avais interverti l'ordre de mes requête, ce qui explique qu'une de mes tables contenait une colonne de plus que l'autre !
La seule leçon à retenir de cette bêtise est qu'il n'y a aucune difficulté à copier toute la ligne d'une table vers l'autre : au pire (c'est ce qui se passe chez moi) la clef "id" est ignorée (c'est à dire qu'elle n'est pas "copiée" mais seulement incrémentée). Donc aucun pb en fait pour faire ce que je croyais faire:
La seule leçon à retenir de cette bêtise est qu'il n'y a aucune difficulté à copier toute la ligne d'une table vers l'autre : au pire (c'est ce qui se passe chez moi) la clef "id" est ignorée (c'est à dire qu'elle n'est pas "copiée" mais seulement incrémentée). Donc aucun pb en fait pour faire ce que je croyais faire:
CREATE TABLE copie LIKE source INSERT INTO copie SELECT * FROM source WHERE id=1
Merci, c'est résolu.
Est-ce que tu as trouvé une solution ou est-ce que tu as pris la solution du lien que je t'ai donné ou est-ce que tu as donné les noms de variables ??
Si tu as trouvé une solution, ce serait sympa de la partager :)