Bonjour,
J'aimerais savoir comment faire un update on cascade sur multi tables ??
Je suis perdu !! ça fait 2 jours que je suis dessus je seche :)
Merci de votre aide
Version imprimable
Bonjour,
J'aimerais savoir comment faire un update on cascade sur multi tables ??
Je suis perdu !! ça fait 2 jours que je suis dessus je seche :)
Merci de votre aide
Bonjour
Sur SQLITE je n'en sais rien, mais sur la quasi-totalité des SGBD il s'agit de déclarer une contrainte de type référence dans le DDL avec la clause "on update cascade"
C'est très simple à implémenter
Il suffit que
- dans la table cible, il existe un index unique (pas forcément primaire) pour la ou les colonnes concernées
- la ou les colonnes concernées soient de même type et de même longueur dans les deux tables
EDIT : cf. la documentation ICI
Merci de ton aide.
Je suis allé sur la documentation et ça m'a l'air un peu compliqué . Aurais tu un exemple concret ??
En gros j'ai une table oeuvre avec id , titre, date_parution, note, commentaire et les foreign keys de mes differentes tables.
category (id, name)
genre (id, name)
etc....
il est peu probable que les noms soient des FK, ce serait une grosse erreur de modélisation :aie:
Il faut la description exacte des tables (ordres CREATE TABLE complets) pour pouvoir répondre avec précision
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 CREATE TABLE `oeuvre` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, `titre` TEXT NOT NULL, `date_parution` INTEGER, `note` INTEGER, `commentaire` TEXT, `category_id` INTEGER, `langue_id` INTEGER, `genre_id` INTEGER, `typeConsole_id` INTEGER, `support_id` INTEGER, `origine_id` INTEGER, `statut_id` INTEGER, `album_id` INTEGER, `societe_id` INTEGER, FOREIGN KEY(`typeConsole_id`) REFERENCES `typeConsole`(`id`), FOREIGN KEY(`langue_id`) REFERENCES `langue`(`id`), FOREIGN KEY(`origine_id`) REFERENCES `origine`(`id`), FOREIGN KEY(`support_id`) REFERENCES `support`(`id`), FOREIGN KEY(`statut_id`) REFERENCES `statut`(`id`), FOREIGN KEY(`category_id`) REFERENCES `category`(`id`), FOREIGN KEY(`album_id`) REFERENCES `album`(`id`), FOREIGN KEY(`genre_id`) REFERENCES `genre`(`id`), FOREIGN KEY(`societe_id`) REFERENCES `societe`(`id`));
Code:
1
2
3 CREATE TABLE `category` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, `name_category` TEXT NOT NULL UNIQUE);
Code:
1
2
3 CREATE TABLE `genre` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE, `name_genre` TEXT NOT NULL UNIQUE);
tout simplement :
FOREIGN KEY(`typeConsole_id`) REFERENCES `typeConsole`(`id`) ON UPDATE CASCADE,