Bonjour à tous,
J'ai une base de données de biens immobiliers. Une table appelée "biens" contient des sites (adresse, ville, photos du bâtiment...), et l'autre s'appelle "locaux" contient des locaux à louer dans chacun de ces sites (superficies, montant du loyer...). La table locaux contient donc une référence (clé étrangère) à la table biens.
Cette table locaux ayant été rajoutée tardivement, j'ai dû remanier tout mon code php. La table "biens" comportait une colonne "superficie" et une colonne "loyer". Donc, pour des raisons de commodité, plutôt que d'agir sur le php, je voudrais remplacer le contenu de la colonne "superficie" (je ferai la même chose avec le loyer) par la valeur minimum parmi tous les locaux du site (pour indiquer "à partir de..."). J'ai donc écrit la requête suivante :
UPDATE biens SET superficie = SELECT MIN(locaux.superficie) FROM locaux INNER JOIN biens ON locaux.id_bien = biens.id
mais j'obtiens l'erreur suivante :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM biens WHERE superficie FROM locaux INNER JOIN biens ON locaux . id_bien <' at line 1
Je ne comprends pas. Ça ne semble pas correspondre à ce que j'ai saisi.
Qu'est-ce qui ne va pas, dans ma requête ?
Merci par avance pour votre aide.
Partager