Salut,
Pour expérimenter la "check constraint" j'ai créé une table qui 'étend' une autre (lien 1-1).
table parent avec un id
table child avec un id et une fk sur l'id de parent (parent_id)
J'ai une check constraint sur la table child qui check : id = parent_id
J'ai 2 enregistrements dans la table enfant.
Sans la check constraint, ça marche normalement.
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 select id from child 5189 5190 select id from child where id = 5190 5190 select id from child where parent_id = 5190 5190 update child set user_modif = 'test' where id = 5190 -- => 0 row(s) updated !!!!!!!!!!???????? update child set user_modif = 'test' where parent_id = 5190 -- => 1 row(s) updated update child set user_modif = 'test' -- => ... je n'ai pas attendu que ça se finisse, ça prenait trop de temps... -- pour seulement 2 lignes !!! et aucun triggers ou cascades ou autre chose qui pourrait expliquer cette lenteur ...
Ce qui est bizarre c'est que j'ai exactement le même système sur 2 autres tables et que ça marche sans problème (sur le même schéma et tout et tout).
L'autre point bizarre est que ça marchait sans problème hier.
J'aimerais juste votre opinion sur ce problème.
Je vais de toute façon virer la colonne id de la table child et mettre la pk sur parent_id.
Merci,
Natha
Partager