|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juillet 2002 Messages : 24 ![]() |
Bonjour,
Je voudrais faire un transfert de données MySQL vers Windev. Mon problème est que je ne sais pas comment savoir si telle table doit être transferée avant telle table par rapport aux contraintes (clé etrangère avec cardinalité 1,n par exemple) J'ai utilisé la requête suivante mais je crois qu'elle n'indique pas la référence de la clé étrangère. select * from information_schema.KEY_COLUMN_USAGE where constraint_schema='myTABLE' Si qlq a déjà de l'expérience la dessus, pouriez vous m'indiquer le chemin à suivre. Merci d'avance. Cassy |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
je to conseillerais d'utiliser un outil de modélisation pour faire du reverse engineering (par exemple MySQL WorkBench).
|
|
|
00
|
|
|
#3 | |
|
Membre éprouvé
![]() Christophe CharronDéveloppeur informatique Inscription : juillet 2005 Messages : 768 ![]() |
Citation:
Quelle version de Windev ? Est-ce pour importer le descriptif dans l'analyse (et dans ce cas,cela n'a pas d'importance car Windev ne gère pas les contraintes, cela reste du domaine de MySQL) ? Si c'est pour importer les données dans des fichiers HF, normalement, Windev le gère tout seul, un peu comme l'import d'une base MySQL, c'est à dire, création des tables et des index, importation des données, création des contraintes.
__________________
Cordialement, Christophe Charron Pour consulter mon site professionnel, vous pouvez cliquer sur le bouton prévu à cet effet, juste sous la signature |
|
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : juillet 2002 Messages : 24 ![]() |
AnToun>
J'ai utilisé DBDesigner4 mais rien à faire. Je vais essayer avec MySQL WorkBench , on ne sait jamais, Merci. Christophe Charron> C'est pour effectuer un trasfert dynamique et intelligent dans les 2 sens (windev-mysql, mysql-Windev). J'ai les contraintes de windev mais pas celui de mySQL. Avec cette requête ci dessous j'ai bien les clés étrangères mais pas leur référence ( appartenant à telle table et correspond à telle rubrique) select * from information_schema.KEY_COLUMN_USAGE where constraint_schema='myTABLE' Merci beaucoup. Cordialement, Cassy |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : juillet 2002 Messages : 24 ![]() |
J'oubliais,
windev10 version interne 01F100040k MySQL server 5.0.27-community-nt-log |
|
|
00
|
|
|
#6 |
|
Invité(e)
Messages : n/a ![]() |
tu creés les tables cibles sans contraintes d'intégrité ensuite tu migres
puis tu crées les contraintes index , fk , etc .....
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : juillet 2002 Messages : 24 ![]() |
gseverin > les contraintes c est pas un souci
C'est là le problème c'est que les contraintes doivent être posées au départ. mais à mon avis ça va passer pour les clés étrangères car mysql ne pose problème que pour le NOT NULL et LE PRIMARY KEY. Donc le tranfert peut se faire dans n'importe quel ordre, et ps besoin de savoir telle table passe avant telle table. Est ce que quelqu'un peut me confirmer. Je vous remercie d'avance. Cordialement Cassy |
|
|
00
|
|
|
#8 |
|
Invité(e)
Messages : n/a ![]() |
je te le répète ya pas de problème , à partir du moment ou tu vires les contraintes les tables deviennent indépendantes les une entre elles .
Seulement voila ta migration doit se passer sans souci , si une table fait reference à une autre table via une clef étrangère par exemple la donnée doit se trouver dans la table .... a+ |
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juillet 2002 Messages : 24 ![]() |
gseverin>
je te le répète ya pas de problème , à partir du moment ou tu vires les contraintes les tables deviennent indépendantes les une entre elles . Ca commence à s'éclaircir. Ce que tu me dis là c'est qu'on peut virer les contraintes partiellement par programmation. Parce que toute intervention manuelle est à banir. gseverin> Seulement voila ta migration doit se passer sans souci , si une table fait reference à une autre table via une clef étrangère par exemple la donnée doit se trouver dans la table .... Justement j'ai l'impression que MySQL ne fait pas attention si la donnée se trouve dans la table. Je mets n'importe quoi, il accepte tant que c'est pas NULL dans le cas d'un contrainte stricte. Merci pour ton aide. Cordialement, Cassy |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Antoine DinimantConsultant en Business Intelligence Inscription : octobre 2006 Messages : 5 854 ![]() |
on peut tout simplement désactiver le contrôle des clés étrangères :
SET @@foreign_key_checks = 0 ; On peut aussi lui demander d'être plus cool sur le contrôle des NOT NULL, dates mal formatées, etc., en sortant du Strict Mode : SET @@sql_mode = '' ; |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juillet 2002 Messages : 24 ![]() |
Merci beacoup. Ca va le faire.
Codialement, Cassy |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com