depuis quelques jours nous avons des soucis avec un LOAD DATA INFILE, exécuté chaque matin : il tourne parfaitement sur le premier serveur, le maitre, mais l'esclave affiche cette erreur et bloque la réplication :
duplicate entry '4643' for key 1' on query. Default database: 'mybase'.
Voici la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
load data INFILE '/tmp/SQL_LOAD-2-1-2768.data' REPLACE INTO sb_529283754_user fields terminated by ';' lines terminated by '\n' (username, password, lastname, firstname, numero_rue, bis_ter_q, voie, adresse_1, adresse_2, cp, localite, email)
En la jouant à la main, elle tourne bien (après que l'on ait fait un chmod 666 sur le fichier de /tmp). Le truc bizarre est que la clef primaire porte sur le champ user_id, champ autoincrémenté et absent de l'import. Le même code tourne sur 15 bases de données, et seules 2 ou 3 plantent. Il y a même des matins sans erreurs. Etrange.

Mysql version : 5.0.91-b22.lenny.33-log

Cordialement,
Cédric

describe table
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
26
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| user_id      | int(10)      | NO   | PRI | NULL    | auto_increment | 
| username     | varchar(32)  | YES  |     | NULL    |                | 
| password     | varchar(32)  | NO   |     |         |                | 
| email        | varchar(100) | YES  |     | NULL    |                | 
| langage      | char(5)      | NO   |     | NULL    |                | 
| ip_1         | varchar(16)  | NO   |     |         |                | 
| ip_2         | varchar(16)  | NO   |     |         |                | 
| ip_3         | varchar(16)  | NO   |     |         |                | 
| id_group     | int(10)      | NO   |     | 0       |                | 
| id_category  | int(10)      | NO   |     | 0       |                | 
| city         | varchar(32)  | YES  |     | NULL    |                | 
| firstname    | varchar(32)  | YES  |     | NULL    |                | 
| lastname     | varchar(32)  | YES  |     | NULL    |                | 
| session_data | text         | YES  |     | NULL    |                | 
| numero_rue   | varchar(4)   | NO   |     |         |                | 
| bis_ter_q    | char(1)      | NO   |     |         |                | 
| voie         | char(3)      | NO   |     |         |                | 
| adresse_1    | varchar(50)  | NO   |     |         |                | 
| adresse_2    | varchar(50)  | NO   |     |         |                | 
| cp           | varchar(5)   | NO   |     |         |                | 
| departement  | varchar(20)  | NO   |     | -1      |                | 
| localite     | varchar(35)  | NO   |     |         |                | 
+--------------+--------------+------+-----+---------+----------------+
et le show keys
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
+-------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| Table             | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment |
+-------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+
| sb_529283754_user |          0 | PRIMARY  |            1 | user_id     | A         |        2321 |     NULL | NULL   |      | BTREE      |         | 
+-------------------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+