URL: https://linuxfr.org/forums/programmationautre/posts/soucis-avec-postgresql Title: Soucis avec postgreSQL Authors: Gyro Gearllose Date: 2005年01月18日T12:14:18+01:00 Tags: postgresql Score: 0 Hello forum ! Dans le cadre d'un projet applicatif professionnel, j'ai rédigé quelques pages php permettant d'accéder aux enregistrements d'une base de données postgreSQL. Jusqu'ici tout va bien. Bon, sauf que : - lorsque j'ai créé ma base et mes tables, j'ai défini des clefs primaires sur ces dernières. - Les clefs primaires ne sont pas modifiables - Les clefs primaires permettent d'identifier de manière unique un enregistrement. Par conséquent, j'aimerais récupérer la liste des champs formant la clef primaire d'une table, de façon à créer dynamiquement des requêtes de suppression et de modification qui soient un tant soit peu correctes. Mais voilà, je ne sais pas comment procéder. Je ne sais pas où pêcher l'information. J'ai regardé un peu dans les tables/vues internes à postgres (version 7.3.4 au passage), mais je n'ai rien trouvé d'exploitable. Les numéros des champs constituant la clef primaire sont renseignés dans le champ indkey (sous forme d'int2vector) de la table système pg_index, mais comme il n'y a pas de fonctions et d'opérateurs sur ce type, ce n'est pas exploitable. Par ailleurs, il y a une vue système nommée pg_indexes qui renvoie, entre autres, la commande sql de définition de l'index, et donc les champs constituants la clef primaire sont renseignés, dans une chaîne de caractères... Bref, pas trop exploitables non plus. Auriez-vous d'autres pistes à me donner, un manière fiable, sûre, sans équivoque, de récupérer ces foutus champs constituant une clef primaires ? Pour l'instant, je découpe la commande sql citée ci-dessus, mais c'est pas franchement génial. Je suis preneur de toute idée, suggestion, etc. Merci.

AltStyle によって変換されたページ (->オリジナル) /