Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
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 21/09/2007, 14h07   #1
Membre régulier
 
Inscription : avril 2004
Messages : 284
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 284
Points : 75
Points : 75
Par défaut Colonne avec plusieurs typages ?

Bonjour,

Je voudrais savoir si un champ d'une table peut avoir différents typages.

Je cherche en fait à saisir le champ 'position' d'une table qui doit être un INT ou VARCHAR selon une autre table.

Sauriez-vous si c'est possible ?

En vous remerciant,

C. Tobini
ctobini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 14h14   #2
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Je ne pense pas que ça soit possible puisque lors de la création de ta colonne tu dois lui définir son type.
Quel est le but de cette manoeuvre ?
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 14h38   #3
Membre régulier
 
Inscription : avril 2004
Messages : 284
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 284
Points : 75
Points : 75
Bonjour et merci de la réponse,

Soit :

tab1 (sorte CHAR);
tab2 (position TYPE);

Si tab1.sorte = 'a' alors tab2.position est un INT
sinon si tab1.sorte = 'b' alors tab2.position est un VARCHAR

Je pensais si ce n'est pas possible de surcharger à mettre position en VARCHAR et repérer (si c'est possible) par regex ou autre si c'est un INT ou une chaine et appliquer un tri en fonction en castant position vers UNSIGNED INTEGER si c'est le cas.

Ex:

si position est un INT trier par CAST(position AS UNSIGNED INTEGER)
sinon laisser tel quel

Tu en penses quoi ?

C. Tobini
ctobini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 15h40   #4
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Dans ta table_2 qui contient la position (varchar ou int) je te propose de mettre une colonne par type (position_INT, position_VAR) et de mettre à NULL la valeur non utilisée. Avec cette méthode, tu pourras récupérer la valeur de ta position avec un IFNULL.

D'un autre côté je ne connais pas à 100% le problème donc il se peut que cette solution ne soit pas envisageable...
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 15h45   #5
Membre régulier
 
Inscription : avril 2004
Messages : 284
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 284
Points : 75
Points : 75
Merci beaucoup du conseil, je vais faire ça !

Bonne journée,

C. Tobini
ctobini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 15h59   #6
Membre éprouvé
 
Avatar de nounetmasque
 
Inscription : janvier 2003
Messages : 491
Détails du profil
Informations forums :
Inscription : janvier 2003
Messages : 491
Points : 488
Points : 488
Si cette solution te convient pense au tag résolu stp
__________________
"Dieu reste muet, si seulement nous pouvions convaincre l'être humain d'en faire autant."
nounetmasque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2007, 16h24   #7
Membre régulier
 
Inscription : avril 2004
Messages : 284
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 284
Points : 75
Points : 75
J'étais revenu spontanément l'ajouter, mais si je me fais réprimender en plus...
ctobini 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 04h00.


 
 
 
 
Partenaires

Hébergement Web