8791 sujets

Développement web côté serveur, CMS

J'ai une question: j'ai un champ dans ma base de donnée que j'ai appeler "avis" et j'aimerais mettre dans tous ces champ 'En cour" sans y faire a la main grâce a une requette SQL.
Mais je sais pas comment faire
C'est aussi simple que ca ?
Ma table s'appelle: loixi, donc je fais comme ça
UPDATE loixi SET Avis = 'En cour'


Edit: j'arrive pas a y faire marcher^^
Modifié par loixi (23 Aug 2010 - 19:27)
Modérateur
Oui, c'est aussi simple que ça. Smiley cligne

À noter que cette requête va s'appliquer à tous les enregistrements de la table. Si tu veux cibler seulement quelques enregistrements, tu dois utiliser la clause WHERE en plus.
Bonjour,

Il y a déjà une grosse erreur : c'est 'En cours', il ne faut pas oublier le 's' Smiley smile

Attention, cette requête doit évidemment être effectuée sur PHPMyAdmin dans l'onglet SQL. Si ce n'est pas ça, il faut que tu nous donnes le libellé de ton erreur.
Modifié par Borak (23 Aug 2010 - 19:44)
Borak a écrit :
Bonjour,

Il y a déjà une grosse erreur : c'est 'En cours', il ne faut pas oublier le 's' Smiley smile

Attention, cette requête doit évidemment être effectuée sur PHPMyAdmin dans l'onglet SQL.

Ca me met une erreur.

Edit: réussi^^

Merci pour votre aide.
Modifié par loixi (23 Aug 2010 - 19:47)
Modérateur
Borak a écrit :

Il y a déjà une grosse erreur : c'est 'En cours', il ne faut pas oublier le 's' Smiley smile


Ouais, je l'avais remarqué, mais j'ai hésité à en parler. Smiley biggol C'est fait maintenant!
Nan mais les fautes c'est pas grave, je corrige plus tard, il faut juste que je comprenne avant comment on fait.

Merci
Est ce qu'il est possible de faire la même chose, mais rajouter un mot par exemple sans supprimer ce qu'il y a déjà a l'intérieur ?
loixi a écrit :
Est ce qu'il est possible de faire la même chose, mais rajouter un mot par exemple sans supprimer ce qu'il y a déjà a l'intérieur ?
Yep ! Par exemple :
UPDATE tblNomTable SET Avis = CONCAT(Avis, ' [en cours]')

A noter que dans ce cas particulier s'il est question d'avoir plusieurs statuts disponibles ('en cours', 'finalisé', etc.) pour un avis ce n'est pas ce libellé qu'il faut updater mais rajouter un champ dans ta table (par exemple id_statut) qui sera une clef étrangère de la table statuts. Smiley murf

Edit: plus généralement ça ne serait sans doute pas inutile de (re)voir les bases de SQL.
Modifié par Heyoan (25 Aug 2010 - 14:25)
Pour simplifier car la c'est difficile comme j'y est fait il faudrait que je sépare des éléments.
Mais comment on fait pour sélectionner une partit de la table par exemple de 1 a 10 et de les copier dans celle d'à coté ?
Bonjours.
J'ai un petit problème, j'ai une base de donnée qu'on va appeler tlbtable et dedans il y a des table: A, B, C...
J'aimerais pouvoir copiée des ligne d'une table de ma base de donnée, vers les autre table: A, B, C...
Elle sont crée, il faut juste qu'elle soit déplacer dedans.

Est ce que ca refait l'AUTO_INCREMENT? quand on copie des lignes dans une autre table ?
Par exemple si ma table est vide et que je copie une ligne qui a l'id 100, elle aurait donc le 1.

Merci.


PS: je suis pas très fort avec les terme technique, donc je sais pas si j'ai très bien expliquer.
Modifié par loixi (27 Aug 2010 - 15:28)
Un champ en AUTO_INCREMENT, quand tu lui insères une valeur fixe, prendra cette valeur (puis, vérification des clefs).
Si tu lui insères une valeur vide (NULL ou chaîne vide), l'auto_increment se déclenchera.
Lpu8er a écrit :
Un champ en AUTO_INCREMENT, quand tu lui insères une valeur fixe, prendra cette valeur (puis, vérification des clefs).
Si tu lui insères une valeur vide (NULL ou chaîne vide), l'auto_increment se déclenchera.

mais est ce qu'il y a une requête sql pour les refaire pour éviter que ca fasse: 1 5 8 91 4...
Salut,

si tu parles d'une table dont plusieurs enregistrements ont été supprimés et qui a donc des "trous" entre 2 identifiants je commencerais par te demander : et alors ?

Pour peu que tu trouves une bonne raison (autre que "ça fait désordre !") je dirais que tu peux faire la manip suivante :

exemple avec une table ma_table :
* id (clé unique en auto_increment)
* champ1
* champ2
* champ3

* dans phpMyAdmin tu fais une copie de la table (onglet "Opérations" / Copier) vers ma_table2

* tu vérifies que tout c'est bien passé et si c'est le cas tu vides la table ma_table :
 TRUNCATE TABLE ma_table


* tu récupères tout les champs de la sauvegarde sauf l'id :
INSERT INTO ma_table
SELECT NULL , champ1, champ2, champ3 FROM ma_table2 

Et voilà.

Bien sûr cela implique que les identifiants puissent être changés sans conséquence (il ne s'agit pas par exemple de n° de factures ou de clés étrangères d'autres tables).