PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 23 → trouver la taille d'un champ dans une base de données MySQL
trouver la taille d'un champ dans une base de données MySQL
Débuté par GUERVILLE, 04 mai 2018 15:24 - 5 réponses
Posté le 04 mai 2018 - 15:24
Bonjour,

Je voudrais trouver la taille d'un champ dans une base de données MySQL, sachant que ce dernier peut être différent de celui de mon analyse

Je ne trouve aucune solution. Avez-vous une idée

Merci
Posté le 04 mai 2018 - 16:41
GUERVILLE avait prétendu :
Bonjour,

Je voudrais trouver la taille d'un champ dans une base de données MySQL,
sachant que ce dernier peut être différent de celui de mon analyse

Je ne trouve aucune solution. Avez-vous une idée

Merci

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com


par programmation un desc matable peut être exploité

ou une requete sur les tables exprès dans mysql (ce sont des vues que
je pourrai te retrouver si tu veux) mais en général j'utilise le
describe

--
Roumegou Eric
Posté le 06 mai 2018 - 09:28
Justement je n'arrive pas à trouver la requête MySQL me permettant d'obtenir la taille du champ dans ma table. Et encore moins de récupérer le résultat de cette requête
J'utilise SQLExec(MaRequete,"select ...")
Membre enregistré
255 messages
Popularité : +8 (8 votes)
Posté le 06 mai 2018 - 14:22
Bonjour

Si tu as une version pas trop vieille de MySql (> à 5.0.2 je crois) tu peux utiliser la vue INFORMATION_SCHEMA.COLUMNS pour avoir le détail des colonnes d'une table :

SELECT
COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT, NUMERIC_PRECISION, NUMERIC_SCALE, CHARACTER_MAXIMUM_LENGTH, COLUMN_DEFAULT, EXTRA
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
TABLE_SCHEMA = 'mabase' AND TABLE_NAME = 'matable' /* éventuellement ajouter filtre sur COLUMN_NAME */
ORDER BY
ORDINAL_POSITION


Si c'est une version plus ancienne tu peux faire :

SHOW FULL COLUMNS FROM matable


--
Pascal H. http://phapps.e-monsite.com
Posté le 17 mai 2018 - 09:06
J'ai testé, ça fonctionne directement en MySQL
Mais pas en Windev
Ceci est refusé
sMaRequete="SELECT COLUMN_NAME,DATA_TYPE,COLUMN_COMMENT,NUMERIC_PRECISION,NUMERIC_SCALE,CHARACTER_MAXIMUM_LENGTH,COLUMN_DEFAULT,EXTRA FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='XXX' AND TABLE_NAME='XXX' ORDER BY ORDINAL_POSITION"

HExécuteRequêteSQL(ReqClient, sMaRequete)
Membre enregistré
255 messages
Popularité : +8 (8 votes)
Posté le 17 mai 2018 - 14:31
Bonjour

Il faut utiliser la syntaxe suivante pour que Windev envoie la requête au serveur sans essayer de la vérifier :
HExécuteRequêteSQL(ReqClient, NomDeTaConnexion, hRequêteSansCorrection, sMaRequete)


--
Pascal H. http://phapps.e-monsite.com