Bonjour à tous, voici mon problème, qui me fait m'arracher les cheveux depuis 3 jours!
Tout d'abord la petite mise en situation:
Je tente de copier les données d'une base de donnée vers une autre, allégée et plus propre, jusque là ca marche très bien, j'utilise la formule suivante
INSERT INTO bdb2.table1 (col1, col2, ...) SELECT col1, col2, ... FROM bdb1.table1
je viens de faire une bonne soixantaine de tables sans aucuns problèmes.
Puis j'arrive à une table appelée d.precision qui contient uniquement 5 données en DECIMAL.
CREATE TABLE `d_precision` (
`precision` decimal(5,2) NOT NULL COMMENT 'Possible precisions for a test',
/* Keys */
PRIMARY KEY (`precision`)
) ENGINE = InnoDB
DELAY_KEY_WRITE = 1
CHARACTER SET `utf8` COLLATE `utf8_general_ci`;
Les données sont les suivantes:
0.01
0.1
0.25
0.5
1.00
Lorsque je fais la copie, j'obtiens le message d'erreur suivant:
SQL Error: Duplicate entry '0.00' for key 'PRIMARY'
ce qui est déjà surprenant étant donné que je n'ai pas de donnée 0.00
Sans cette table, il y a 3 autres tables que je ne peut copier car une des tables(t.evaluation) est liée à la table d.precision par un foreign key, et les deux autres sont liées à t.evaluation.
Du coup, afin de vérifier si mes query fonctionnent pour la copie des 3 dernières tables fonctionnent, j'ai introduit manuellement les données dans d.precision (j'avoue, je ne me suis pas trop fatigué à le faire!!!)
Et lorsque je copie les données dans t.evaluation de la bdb1 à la bdb2, toutes les données se rapportant à d.precision se mettent à 0
Partager