sql_updateq qui ne fait pas de jointure
Bonjour,
Suite à des tests, je remarque que sql_updateq n'applique pas de jointures (explicites) sur les SET.
Un exemple de comparaison, voici une requête faite avec sql_allfetsel :
sql_allfetsel('mots.id_mot, mots.id_groupe,mots.titre,groupes.titre as type', 'spip_mots as mots, spip_groupes_mots as groupes', 'mots.id_groupe=groupes.id_groupe', '', '', '', '', '', false);
Lancera la requête SQL : <code class="sql"> SELECT mots.id_mot, mots.id_groupe,mots.titre,groupes.titre as type FROM spip_mots as mots, spip_groupes_mots as groupes WHERE mots.id_groupe=groupes.id_groupe
Tandis que sql_updateq :
sql_updateq('spip_mots as mots, spip_groupes_mots as groupes', array('mots.type' => 'groupes.titre'), "mots.id_groupe=groupes.id_groupe", '', '', false);
Lancera la requête SQL : <code class="sql"> UPDATE spip_mots as mots, spip_groupes_mots as groupes WHERE mots.id_groupe=groupes.id_groupe
Ce qui forcément crée une erreur SQL car il n'y a pas de SET.
La requête attendue serait celle-ci :
UPDATE spip_mots as mots, spip_groupes_mots as groupes SET mots.type=groupes.titre WHERE mots.id_groupe=groupes.id_groupe
Soit je n'utilise pas correctement cette fonction, soit elle a du mal à interpréter les expressions du SET.
Qu'en pensez-vous ?