Dupliquer un champs mysql

new morning Messages postés 133 Statut Membre -  
 Utilisateur anonyme -
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 2376 Statut Membre 514
 
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 2376 Statut Membre 514
 
Il faut utiliser un alter table pour créer le champ référence puis le remplir avec un update
0
Utilisateur anonyme
 
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
 
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 133 Statut Membre 19
 
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
 
Pas à ce que je sâche, désolé.
0