Bonjour à tous,

Je dispose d'une base de donnée MySQL dand laquelle j'ai une table personne dont la structure ressemble à ceci :



Que je remplis à l'aide d'un tableau de tableaux qui ressemble à ceci :

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
Array
(
    [0] => Array
        (
            [0] => 147054261234567
            [1] => DURAND
            [2] => Pierre
            [3] => 1980-01-12
        )
 
    [1] => Array
        (
            [0] => 510893812345678
            [1] => DUPOND
            [2] => Anne
            [3] => 1958-10-12
        )
 
    [2] => Array
        (
            [0] => 519906987451895
            [1] => MARTIN
            [2] => Jacques
            [3] => 1991-01-14
)

Via ce script PHP :
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
connexionBdd();
 
 // Insertion des données dans la table
foreach ($valeursExtraites as $valeurs) {
 
    $ligne = "'".implode("','",$valeurs)."'\n";
 
    $requete = mysql_query('
 
        INSERT INTO `maBase`.`maTable` (
            `pers_NNI` ,
            `pers_nom` ,
            `pers_prenom` ,
            `pers_dateGm` 
                                        )
        VALUES (
            '.$ligne.'
               );'
                          );
 
        if(!$requete) die ('Erreur dans la requete : ' . mysql_error());
}
mysql_close();
Cela fonctionne bien, mais :

  • si une entrée existe déjà dans la table, j'aimerai qu'elle ne soit pas insérée
    --> SAUF dans le cas où seule la date diffère dans ce cas il faudra mettre à jour la date.
  • 2 personnes différentes peuvent avoir : pers_NNI identique en ayant pers_nom, pers_prenom et/ou pers_dateGm différents.


Je ne peux donc pas mettre pers_NNI en clef primaire. Je dois gérer les homonymes.
En fait, le seul "couple" unique est : pers_NNI ET pers_nom ET pers_pernom

Je n'y arrive pas, quelqu'un pourrait-il m'aider ?