Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #3661
| Newsgroups | fr.comp.lang.python |
|---|---|
| Subject | Fonction Python et MySQL, pour créer une clé étrangère |
| From | Olivier92410 <nospam_olivier.debeyssac@gmail.com.invalid> |
| Organization | !No_Organization! |
| Message-ID | <CAOdnZ2m4f_MZTT8nZ2dnUU7983NnZ2d@giganews.com> (permalink) |
| Date | 2021-12-03 04:58 -0600 |
Bonjour, Je veux insérer dans plusieurs tables une clé étrangère.
Pour cela, j'ai créé un dictionnaire qui fournira à une fonction les paramètres
nécessaires à la création de ces clés.
Ci-dessous, une partie du dictionnaire utilisé, pour rester simple:
d_fk = {'Bien_Immo': ['fk_Id_Lot', 'Lot', 'Id']}
Puis la fonction,
def create_fk(name1, name2, name3, name4):
url = "e;mysql+pymysql://{user}:{password}@localhost/{db}"e;
engine = create_engine(url.format(user='root', password='Fer458it',
db='data_immo'))
engine.execute(f"e;ALTER TABLE {name1}"e;
f"e;ADD COLUMN {name2},"e;
f"e;ADD CONSTRAINT {name2}"e;
f"e;ADD FOREIGN KEY ({name2}) REFERENCES {name3}({name4})"e;
f"e;ON DELETE CASCADE"e;)
return
for key in d_fk.keys():
if isinstance(d_fk[key][0], list):
for i in range(len(d_fk[key])):
[n2, n3, n4] = [d_fk[key][i][0], d_fk[key][i][1], d_fk[key][i][2]]
create_fk(key, n2, n3, n4)
else:
[n2, n3, n4] = [d_fk[key][0], d_fk[key][1], d_fk[key][2]]
create_fk(key, n2, n3, n4)
Ce code retourne une erreur de syntaxe 1064,
Si vous avez des idées, elles sont bienvenues !
Merci
Back to fr.comp.lang.python | Previous | Next — Next in thread | Find similar
Fonction Python et MySQL, pour cr�er une cl� �trang�re Olivier92410 <nospam_olivier.debeyssac@gmail.com.invalid> - 2021-12-03 04:58 -0600 Re: Fonction Python et MySQL, pour créer une clé étrangère Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2021-12-03 14:57 +0100 Re: Fonction Python et MySQL, pour créer une clé étrangère Nicolas <nicolasp@aaton.com> - 2021-12-06 10:33 +0100
csiph-web