Pour gérer les clés des tables.
Le principe est qu'une table va contenir des champs qui auront la valeur des clés des autres tables.
table_keys | |||
problems | k_db2 | kdb3 | kdb4 |
124 | 12 | 45 | 56 |
|
|
|
|
Lorsqu'il est nécessaire de faire une insertion dans une table, La valeur est recherché dans le champ correspondant de la table des clés.
Exemple :
Pour faire une insertion
supplémentaire dans la table db_problems, on va chercher (SELECT)
la valeur de problems (124). On additionne cette valeur de 1 (125) et
on la met à jour (UPDATE) dans la table table_keys (125)
table_keys | |||
k_db1 | k_db2 | kdb3 | kdb4 |
125 | 12 | 45 | 56 |
La valeur 124 est concervé et va servir de clé pour la table db_problems
db_problems | ||
db1_ID | champs1 | champs2 |
121 | xxx | xxx |
122 | xxx | xxx |
123 | xxx | xxx |
124 | xxx | xxx |
En amont sur la même page ou sur une autre page en include | |
On crée une fonction : GetUnique adoCon est le nom de la connection dbkey est le nom du champ. Il aura pour valeur le nom défini en aval (problems) pour notre exemple key = Cint(adoRec(dbname)) => on récupère la valeur 124 GetUnique = key => on donne la valeur 124 à GetUnique Ensuite on incrémente key de +1 |
|
Au moment de l'insertion dans une table | |
On appel la fonction GetUnique On obtient
la valeur de GetUnique (124 dans notre exemple). Cette valeur peut ensuite
être utilisé pour l'insertion dans la table db_problems |
N'ayant pas encore réussi à exploiter le code ci-dessus, j'ai fait le suivant :