Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/12/2004, 10h56   #1
Invité de passage
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 3
Points : 3
Par défaut explication syntaxe requete sur pgsql

Bonjour,

je vient de migrer mon site de mysql vers postgresql et j'ai quelque pb avec mes requetes, je ne sait pas si c'est normal et j'aimerai votre avis :

d'abord j'ai créer un schéma "scprod" dans lequel j'ai toutes mes tables,
sur mes pages php lors de l'appel d'une table "toto" sa me dit qu'il ne trouve pas !?? apparement pb de search_path...
au debut de mon script php, j'ajoute donc :
pg_query("SET search_path TO \"scprod\"");

ensuite tous fonctionne, est-ce normal d'etre obliger de faire ceci ?

autre point encore plus genant, si je n'entour pas les noms de tables et champ par des doubles quotes ("), j'obtient un msg comme quoi la table ou le champs n'existe pas !?!

ex:

pg_query("select * from \"table\" where \"id\"=1 and \"nom\"='test'")
c'est vraiment lourd, surtout si je doit modifier toutes mes requetes
existe t'il une solution, j'ai oublier de configurer quelque chose ?
pour info j'ai postgresql 7.4 sur debian.

merci pour votre aide
alain.lc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2004, 14h53   #2
Invité de passage
 
Inscription : décembre 2004
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 19
Points : 3
Points : 3
Re:

j'ai trouver la réponse à mes questions,
contrairement à mysql, si le nom des tables ou des champs contient autre chose que des lettre en minuscule, ceux-ci doivent etre entouré par des quotes (pas glop)

et pour le search_path c'est tous simplement parce que mon schema n'a pas le meme nom que mon identifiant de connexion (pas glob bis)

je me demande si postresql ne va pas finir par me prendre la tête
faut quand meme en vouloir pour quitter mysql ...

a+
alain.lc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2004, 10h24   #3
Membre confirmé
 
Inscription : octobre 2003
Messages : 266
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 266
Points : 287
Points : 287
Salut,

C'est simplement que Postgresql est plus normatif que Mysql. Cf http://sqlpro.developpez.com/cours/s...age=partie1#L1 sur les règles de nommage.

@+
Krapulax est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h59.


 
 
 
 
Partenaires

Hébergement Web