Requête valide pour MySQL & PostgreSQL
Bonjour,
j'aimerais pouvoir réaliser des requêtes qui fonctionne autant pour Postgre que pour MySQL. Du coup j'utilise PDO pour uniformiser tout ça.
Ma DB existante sur MySQL utilise des champs/table avec des majuscules (ex:ID_Maison,..) et du retour de la requête j'en retire un objet pré defini avec des set et get (getID_Maison(),...).
Mais Postgre lui n'aime pas trop les majuscule et si l'on veut faire un
Code:
SELECT * FROM habitation WHERE ID_Maison = $id
il faut mettre le champ ID_Maison entre "" sinon il y a erreur et il ne trouve pas le champ (Postgre transforme tout en minuscule sauf s'il y a des ""). Mais par contre, MySQL lui, n'aime pas trop les guillemets et s'il y en a, il considérera le champ comme une chaine de caractère..
Les solutions proposées :
- mettre des `` à la place des "" mais Postgre ne les acceptes pas.
- renommer les champs,table,.. en minuscule => vu la taille de la DB je n'ose imaginer le bordel..
- mettre des `` et quand on fait appelle à pdo parser la requête et remplacer les `` par des "" si on utilise Postgre...bof bof.
N'y aurait-il pas un réglage/paramètre/astuce rédempteur à ce problème ?
Si vous avez une solution, je suis de toute ouïe. Merci d'avance et bonne soirée/journée.
Antoine.