Bonjour à tous.
J'ai lu les différentes documentations sur SQL du site et je me pose une question.
Je vous affiche d'abord deux tables:
Comme vous le voyez, ma contrainte de la table objet_fra est "ON DELETE RESTRICT".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 CREATE TABLE objet_commun ( id_objet int4 NOT NULL DEFAULT 0, id_antiquaire int4 NOT NULL, nb_photos int2 NOT NULL DEFAULT 0, prix float8, longueur float4, largeur float4, hauteur float4, profondeur float4, diametre float4, date_modif date NOT NULL, reference varchar(15), CONSTRAINT pk_objet_commun PRIMARY KEY (id_objet), CONSTRAINT fk_objetcommun1 FOREIGN KEY (id_antiquaire) REFERENCES antiquaire_client (id_antiquaire) ON UPDATE RESTRICT ON DELETE RESTRICT ) CREATE TABLE objet_fra ( id_objet int4 NOT NULL, nom_fra varchar(100) NOT NULL, comment_fra text, matiere_fra varchar(50), epoque_fra varchar(50), origine_fra varchar(50), CONSTRAINT "pk_objetFra" PRIMARY KEY (id_objet), CONSTRAINT "fk_objetFra" FOREIGN KEY (id_objet) REFERENCES objet_commun (id_objet) ON UPDATE RESTRICT ON DELETE RESTRICT )
Dans mon code PHP, si je supprimer un objet, je dois supprimer dans objet_commun et dans objet_fra.
Vaut-il mieux que je supprimer juste dans objet_commmun mais que cette table comporte une contrainte ON DELETE SET NULL afin de supprimer ces lignes par un abtch de nuit ?
J'avoue ne pas connaitre tres bien ce foctionnement.
Est-ce compliqué a programmer ?
Vaut-il mieux utiliser des triggers ?
Vaut-il mieux laisser tel quel et faire toutes les suppressions dans mon code PHP ?
Pour l'instant je me penche plutot vers le trigger avec une procedures stockée car le nombre de suppressions par jour sera tres faible voire nul.
Merci d'avance pour vos conseils d'experts lol![]()
Partager