Sql, deux champs de même valeur

Fermé
qisbug Messages postés 5 Date d'inscription jeudi 11 novembre 2010 Statut Membre Dernière intervention 23 février 2015 - 11 nov. 2010 à 18:50
 qisbub - 27 déc. 2010 à 20:53
Bonjour,


Bonjour,



J'ai 1900 documents dans ma table spip_documents de ma base de données.
Dans la colonne titre, je n'ai rien
Dans la colonne Fichier j'ai ceci : mon-image.jpg
Je cherche une requête SQL qui permettrait de mettre dans 'titre' les mêmes indications que dans 'fichier'
de façon que les 1900 documents aient, chacun, un titre, sans être obligée de le faire un à un

J'ai fait ceci pour le document 58 mais ça ne fonctionne pas.

UPDATE spip_documents
SET 'titre'= VALUES('fichier')
FROM 'spip_documents' WHERE 'id_document' = 58

J'ai essayé ça aussi :
UPDATE spip_documents
SET 'titre'= ('fichier')
FROM 'spip_documents' WHERE 'id_document' = 58

Quelqu'un peut-il m 'aider ? Un grand merci d'avance, en espérant que cette question n'a pas été déjà posée (en tout cas je n'ai pas trouvé d'indication)
A voir également:

2 réponses

iBobos Messages postés 35 Date d'inscription vendredi 12 novembre 2010 Statut Membre Dernière intervention 13 novembre 2010 6
Modifié par iBobos le 12/11/2010 à 11:04
Bonjour,

Je vais coder en PHP pour traiter les 1900 documents en même temps.

<?php

$config = array('host' => 'myHost', 'user' => 'userName', 'pwd' => 'myPwd', 'base' => 'maBase'); // Remplace myHost par ton host, userName par ton nom d'utilisateur, myPwd par ton mot de passe, maBase par ta base

mysql_connect($config['host'], $config['user'], $config['pwd']);
mysql_select_db($config['base']);

for($i=0; $i < 1900; $i++){

$ask = mysql_query('SELECT * FROM 'maTable' WHERE ID = "' . $i . '"');
$array = mysql_fetch_array($ask);

$newValeur = $array['fichier']; // la variable prend la valeur du fichier dans la BDD

mysql_query('UPDATE 'maTable ' SET 'titre' = "'. $newValeur . '" WHERE ID = "'. $i . '"');

}

mysql_close();

?>

En espérant que ça marche, ce code est à intégrer sur une page en php, il suffit de charger la page une seule fois pour que ça marche. En espérant ne pas avoir fait de fautes de syntaxe, ni même de nommage, et que ça marche.

EDIT: <italic>Apparement, il accepte pas les ' de la touche 7 sur le clavier. Il suffit de les remplacer au bon endroit</italic>

Bon courage.

iBobos, une question? Une solution.
0
Bonjour

J'ai enfin trouvé la requête SQL qui fonctionne. Voici : j'avais 1900 documents sans titre, dans la table spip_documents, et je voulais, pour chacun, mettre, dans la colonne titre, le contenu de la colonne 'fichier'.

Voici la requête SQL :

UPDATE 'spip_documents'
SET 'titre'='fichier'
WHERE 'titre'=""

Ce qui veut dire :

Mettre à jour (UPDATE) la table 'spip_documents'
en mettant 'titre'='fichier'
Lorsque le titre est vide


Mon problème est donc résolu. Merci à ceux qui m'ont aidée
0