Comparaison entier / varchar
Salut à toutes et à tous.
Dans le cadre de mon petit projet actuel (site web pour artiste graphique), j'ai les deux tables comme définies ci-dessous:
Code:
1 2 3 4 5 6 7 8 9
| CREATE TABLE page (
pageId INTEGER PRIMARY KEY,
/* les autres champs */
)
CREATE TABLE config (
name VARCHAR(255) PRIMARY KEY,
value VARCHAR(255)
) |
Sachant que j'ai, dans ma table config, un tuple enregistré comme suit:
name: "homepage"
value: "1"
Est-il valide de faire la requête suivante, en comparant donc un entier avec un varchar ?
Code:
1 2 3 4
| SELECT p.*
FROM page p, config c
WHERE c.name = "homepage"
AND p.pageId = c.value |
Cette requête fonctionne sous MySQL, mais est-ce que c'est légal du point de vue SQL standard ?
Aussi, est-ce que c'est une solution propre ? Elle me parait un peu bizarre... voire dangereuse.