Bonjour,
J'ai une erreur MySQL que je ne m'explique pas.
L'erreur est la suivante:En effet:Erreur: 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicata du champ '2-' pour la clef 'user'' à la ligne 228.
- J'ai un champ user sur 2 colonnes (id_user et homephone)
- L'erreur est apparue lorsque j'ai insérer une valeur vide, alors que j'avais déjà une valeur vide. J'ai remplacé les valeurs vides par NULL mais l'erreur persiste.
- Je ne sais pas comment mettre à NULL toutes les valeurs vides sans avoir à les traiter une par une.
Voici mon code:Le var_dump de la ligne 5 donne:
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 function updateAddress(array $data): int { $db = dbConnect(); extract($data); var_dump($data); $sql = <<<SQL UPDATE dat_addresses SET address=:address, country=:country, zipcode=:zipcode, locality=:locality, homephone=:homephone, notes=:notes WHERE id=:id SQL; $array = [':id'=>$id, ':address'=>$address, ':country'=>$country, ':zipcode'=>$zipcode, ':locality'=>$locality, ':homephone'=>$homephone, ':notes'=>$notes, ]; $stmt = $db->prepare($sql); $stmt->execute($array); return $stmt->rowCount(); }Par ailleurs après recherche systématique, je n'arrive pas à supprimer l'index sur les colonnes id_user et homephone. J'ai le messagearray (size=15) 'id_user' => string '2' (length=1) 'id' => string '1' (length=1) 'relation' => string '0' (length=1) 'familyname' => string 'Nom' (length=5) 'firstname' => string 'Prénom' (length=5) 'birthday' => string '1515-09-10' (length=10) 'address' => string '50 avenue Paul Laurens' (length=36) 'country' => string 'FR' (length=2) 'zipcode' => string '00000' (length=5) 'locality' => string 'ville' (length=5) 'email' => string '' (length=0) 'homephone' => string '' (length=0) 'workphone' => string '' (length=0) 'GSM' => string '' (length=0) 'notes' => string '' (length=0)et je ne trouve pas où est utilisée cette contrainte.#1553 - Cannot drop index 'user': needed in a foreign key constraint
Partager