|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Guenaël LE MERRERconsultant environnement et développement d'applications de base de données Inscription : janvier 2006 Messages : 210 ![]() |
Bonjour
Existe t'il un moyen d'écrire un code qui change automatiquement tous les champs de type bit en integer(2) dans tous les champs d'une base (concerné par ce format...) la requête suivante fonctionne bien mais je voudrais éviter de la faire sur toute mes tables et mes champs concernés : Code :
ALTER TABLE `ma_table` CHANGE `mon_champ` `mon_champ` INT(2); |
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
bonjour,
oui c'est possible, regardez ceci ou la doc de votre SGBD : http://sqlpro.developpez.com/cours/s...e=partie2#L7.6 |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Guenaël LE MERRERconsultant environnement et développement d'applications de base de données Inscription : janvier 2006 Messages : 210 ![]() |
certes je vois bien la commande SQL mais comment le faire pour tous les champs de format bit de toutes les tables d'un base...? j'abuse peut-être !
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2002 Messages : 1 655 ![]() |
bonjour,
pour ceci il faut que vous recherchiez de la doc sur le site mysql avec les mots clef : information schema Je n'utilise pas MySql personnellement mais vous devriez trouver votre bonheur. http://dev.mysql.com/doc/refman/5.0/...on-schema.html Ensuite vous n'avez plus qu'à corréler le tout ! |
|
|
00
|
|
|
#5 |
![]() ![]() |
Tu trouveras quelles sont les colonnes qui t'intéressent dans la vue information_schema.COLUMNS.
Et comme son nom l'indique, il n'y a pas de champs dans les tables mais des colonnes ! Ceci dit, INT(2) ou INT(5) ou INT(9) restera toujours un entier codé sur 4 octets. Si tu veux un petit nombre, utilise plutôt TINYINT.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#6 |
|
Membre du Club
![]() Guenaël LE MERRERconsultant environnement et développement d'applications de base de données Inscription : janvier 2006 Messages : 210 ![]() |
bonjour
désolé pour la confusion champs/colonne mais je suis plus habitué à ACCESS... effectivement, j'avais enlevé le (4) après INT. J'avais bien réussi à identifier toutes les colonnes de ma base qui étaient au format BIT mais je n'ai pas réussi à écrire le script qui permet de les changer automatiquement... je l'ai donc fait sous ACCESS (car il s'agit d'un problème d'export des champs boolean d'Access qui sont transformés en BIT sous mysql par myodbc, alors que je voudrais des int pour ne pas perdre le -1...). j'ai donc contourné le problème mais il n'est pas pour autant résolu. bonne journée |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com