Dupliquer un champs mysql

new morning Messages postés 127 Date d'inscription lundi 13 août 2007 Statut Membre Dernière intervention 15 mai 2013 - 1 avril 2009 à 05:55
 Utilisateur anonyme - 1 avril 2009 à 11:26
Bonjour,

Je sais pas pourquoi mais toutes mes recherches sur ce sujet tournent autour du pot sans me donner la solution.

J'ai une table "users" qui contient le champs "username". Je souhaite créer un champs "reference" ayant la même structure et les mêmes données que le champs "username".

Si j'essaie quelque chose comme
 UPDATE TABLE users SET reference = username  
j'ai un retour
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'table users set reference = username' at line 1 
sans doutes parce que je n'ai pas crééer le champs en amont. En ce cas, je veux faire une première requête pour copier la structure, mais laquelle utiliser ?

 UPDATE TABLE users INSERT reference = username  
ne marche pas, et pas mieux avec
 UPDATE TABLE users INSERT reference AS username  
A voir également:

6 réponses

NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
1 avril 2009 à 10:15
Il faut faire une alter table afin d'ajouter le champ référence à la table avant de faire l'update pour récupérer la valeur du champ.
0
NookZ Messages postés 2138 Date d'inscription jeudi 29 janvier 2009 Statut Membre Dernière intervention 7 mars 2013 514
1 avril 2009 à 10:19
Il faut utiliser un alter table pour créer le champ référence puis le remplir avec un update
0
Utilisateur anonyme
1 avril 2009 à 10:37
Bonjour,

La commande update en MySQL ne te permet pas de modifier la structure de tes tables (elle permet de modifier uniquement les données).

Si tu souhaites modifier la structure de ta table et ajouter ton champ "reference", tu doit t'y prendre de la manière suivante :

ALTER TABLE `users` ADD `reference` VARCHAR( 45 ) NOT NULL ;

Dans cet exemple : VARCHAR( 45 ) NOT NULL correspond au caractéristiques du champ username.
0
Utilisateur anonyme
1 avril 2009 à 10:37
Bonjour,

La commande update en MySQL ne te permet pas de modifier la structure de tes tables (elle permet de modifier uniquement les données).

Si tu souhaite modifier la structure de ta table et ajouter ton champ référence, tu doit t'y prendre de la manière suivante :

ALTER TABLE `users` ADD `reference` VARCHAR( 45 ) NOT NULL ;

Dans cet exemple : VARCHAR( 45 ) NOT NULL correspond au caractéristiques du champ username.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
new morning Messages postés 127 Date d'inscription lundi 13 août 2007 Statut Membre Dernière intervention 15 mai 2013 19
1 avril 2009 à 10:58
Merci Emmanuel,

C'est donc ainsi que je vais m'y prendre. Mais il n'y a pas moyen de reproduire les caractéristiques du champs concerné sans les connaitre ? (ici VARCHAR( 45 ) NOT NULL ) C'est pourtant possible lors d'une copie de table avec je crois

CREATE TABLE users_bis SET users_bis = users
0
Utilisateur anonyme
1 avril 2009 à 11:26
Pas à ce que je sâche, désolé.
0