UPDATE avec JOIN, WHERE, LIMIT, ORDER BY - PHP - Programmation
Marsh Posté le 02-10-2010 à 20:10:26
Citation : Multiple-table syntax: UPDATE [LOW_PRIORITY] [IGNORE] table_references |
http://dev.mysql.com/doc/refman/5.1/en/update.html
donc
UPDATE test, test2 SET nb=74 WHERE test.id=test2.id AND nb>1 ORDER BY clef DESC LIMIT 2
Marsh Posté le 02-10-2010 à 20:52:55
Cela ne marche pas. D'après le lien du manuel que vous m'avez donné, dans le cas d'une update multi table, les instructions order by et limit ne peuvent pas être utilisées.
Y aurait-il une autre manière de procéder ?
Marsh Posté le 02-10-2010 à 21:25:36
update ... where [id] in (select id from ... where...order by...) ?
Marsh Posté le 05-10-2010 à 17:59:52
J'suis curieux, c'est quoi l'intéret d'un order by pour faire un update? Tu n'as aucun résultat à afficher, pourquoi vouloir trier?
Marsh Posté le 05-10-2010 à 18:03:53
lasnoufle a écrit : J'suis curieux, c'est quoi l'intéret d'un order by pour faire un update? Tu n'as aucun résultat à afficher, pourquoi vouloir trier? |
Il fait aussi un limit.
Marsh Posté le 02-10-2010 à 19:08:21
Bonjour,
J'ai une table test comportant 3 champs :
id nb clef
J'aimerais faire la requête SQL suivante sur cette table :
et j'obtiens le message d'erreur suivant :
Si je supprime la partie de la requête concernant la jointure (JOIN test2 ON test.id=test2.id), la requête fonctionne correctement.
Notez que dans le cas "réel", la partie "WHERE nb>1" est remplacée par une conditions sur les champs de la table avec la jointure, c'est d'ailleurs pour cela que j'ai besoin de faire la jointure.
Pourriez vous m'aider à résoudre le problème ?
Merci d'avance
Message édité par nisalon_caje le 02-10-2010 à 19:12:11