#1452 Erreur MySQL

Résolu
Pinigseu -  
Pinigseu Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour j'aurais besoin d'aide concernant une clé étrangère que j'essaye d'insérer dans ma base de donnée.
Avec une table clients et une table abonnements, j'essaye de faire une clé étrangère avec code_client (de la table abonnements) avec id_clients (qui est la clé primaire de la table clients)
Pour faire ma clé étrangère j'utilise la commande suivante :

ALTER TABLE abonnements
ADD INDEX(code_client),
ADD FOREIGN KEY (code_client) REFERENCES clients (id_clients) ;

Le problème, c'est qu'il me met l'erreur suivante :
#1452 - Cannot add or update a child row: a foreign key constraint fails (`btssio`.`#sql-16a8_21b`, CONSTRAINT `#sql-16a8_21b_ibfk_1` FOREIGN KEY (`code_client`) REFERENCES `clients` (`id_clients`))

ça fait des jours que je cherche des solutions mais rien ne fonctionne. je suis débutant dans la matière et c'est un devoir que j'ai à rendre bientôt...
Merci d'avance pour votre aide,
Cordialement.

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Commence par nous montrer la structure de ta table via un SHOW CREATE ou en en faisant un DUMP que tu nous posteras ici.

0
Pinigseu Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, j'ai réussis sans erreur en utilisant ma clé primaire id au lieu de code_ client je vous envois le DUMB parce que je ne comprends pas pourquoi ça fonctionne avec lui et pas l'autre :

 -- phpMyAdmin SQL Dump

-- version 4.7.4
-- https://www.phpmyadmin.net/
-- Hôte : 127.0.0.1:3306
-- Généré le : lun. 16 oct. 2017 à 07:09
-- Version du serveur : 5.7.19
-- Version de PHP : 5.6.31

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Déjà... je ne vois aucun champ dans tes tables qui se nomme "code_client" ....
0
Pinigseu Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Ah oui en effet je l'ai supprimé tout à l'heure autant pour moi
le code_client était un TINYINT(50).

Mais je pense avoir ciblé le problème quand j'ai peuplé ce champ ils étaient tous en 0 c'est à dire que je pensais que la étrangère allait faire le liens tout seul (je crois au père noël surement xD) on appel ça donnée morte si mes recherches sont exacts est-ce que c'est ça qui aurait pu poser problème ?

Cordialement
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Pinigseu Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
oui
0
Pinigseu Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
D'accord merci beaucoup !
0