erreur de syntaxe ???

erreur de syntaxe ??? - SQL/NoSQL - Programmation

Marsh Posté le 28-09-2006 à 14:01:39    

Bonjour à tous...
Il parait que ma syntaxe est incorrecte... MySQL Front me répond :  
 
1064 - Something is wrong in your syntax près de ' ewb_zone SET ewb_bloc.bl_image1='Ile-de-France - Paris', ewb_bl' à la ligne 1
 
voici ma syntaxe complète :
 

Code :
  1. UPDATE ewb_bloc, ewb_zone SET ewb_bloc.bl_image1='Ile-de-France - Paris', ewb_bloc.bl_image2='Intergénérationnel',ewb_bloc.bl_texte4='1988-1989' WHERE ewb_zone.zo_id=ewb_bloc.bl_zone_id AND ewb_zone.zo_recipient_id=340


Quoi ça être ???
 
Aidé moua siouplé  ! bocou merchi !  :jap:

Reply

Marsh Posté le 28-09-2006 à 14:01:39   

Reply

Marsh Posté le 28-09-2006 à 14:28:25    

essaie ça à la place s'il comprend :
update ewb_bloc set ........ from ewb_none where ...
 
le problème du update se basant sur une jointure, c'est qu'il ne fait pas l'objet d'une norme, du coup y'a pas deux sgbd qui utilisent la même syntaxe...


Message édité par MagicBuzz le 28-09-2006 à 14:28:38
Reply

Marsh Posté le 28-09-2006 à 14:28:27    

donc je sais pourquoi ça marche pas... MYSQL 3.23 ne gere pas les jointures dans l'UPDATE...
 
mais alors comment faire ?

Reply

Marsh Posté le 28-09-2006 à 14:46:42    

j'ai essayé ça, mais je ne dois pas bien m'y prendre...
 

Code :
  1. UPDATE ewb_bloc SET bl_image1='Ile-de-France - Paris', bl_image2='Intergénérationnel',bl_texte4='1988-1989' FROM ewb_zone WHERE bl_zone_id in (SELECT zo_id FROM ewb_zone,ewb_bloc bl WHERE zo_id=bl.bl_zone_id AND zo_recipient_id=340)


Message édité par freed102 le 28-09-2006 à 14:49:20
Reply

Marsh Posté le 28-09-2006 à 14:55:45    

moi je suis d'accord avec mysql : je capte rien à ta requête non plus [:atari]
 
tu peux écrire en français ce qu'elle doit faire ?
 
dans tous les cas, mysql < 4.1 = sous-requêtes interdites, donc marchera pas mieux avec un sous-select
 
bah vi, mysql ça a très longtemps été un dérivé de résidu de sous-merde... maintenant, ça arrive à peut près à valloir quelquechose, mais clairement à l'époque fallait pas trop lui en demander.
 
je sens que t'es bon pour un select qui récupère tous les id à mettre à jour, puis, dans un second temps, un update avec un bon gros IN des familles

Reply

Marsh Posté le 28-09-2006 à 14:59:39    

ah ca fait plaisir de voir qu'on a toujours une reponse quotidienne sur les sous requetes pas supportees avant MySQL 4.1  :D

Reply

Marsh Posté le 28-09-2006 à 15:03:52    

faut dire que tous les autres SGBD savent le faire depuis 10 ans... C'est un peu comme si aujoud'hui renaut vendait des voitures qui se démarrent à la manivelle... y'a pas grand monde qui comprendrait comment ça marche...

Reply

Marsh Posté le 28-09-2006 à 15:54:53    

et bien la seule solution que j'ai trouvé c'est celle là :
 
deux requetes :
 

Code :
  1. $query_sz_select="SELECT zo_id FROM ewb_zone zo,ewb_bloc bl WHERE zo.zo_id=bl.bl_zone_id AND zo.zo_recipient_id=".$page_int;
  2.      $hcur_re = sql_query( $DBtype_sz, $query_sz_select, $connect_re );
  3.      $row_sel = sql_fetch_array( $DBtype_sz, $hcur_re);
  4. $query_sz_upd="UPDATE ewb_bloc SET bl_image1='".$dim_val0_tab."', bl_image2='".$dim_val2_tab."', bl_texte4='".$dim_val3_tab."' WHERE bl_zone_id=".$row_sel['zo_id'];
  5.       $hcur_re = sql_query( $DBtype_sz, $query_sz_upd, $connect_re );

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed