Bonjour,

je souhaite mettre en place une procédure de MAJ d'une base de données, en utilisant "ON DUPLICATE KEY UPDATE", cependant, une erreur de syntaxe est trouvée mais je n'arrive vraiment pas à voir où.
Voici mon code :
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
$query_table_creation = "CREATE TABLE IF NOT EXISTS `protein_sequence` (
		  `acc_number` varchar(10) NOT NULL,
		  `family_number` tinyint(2) DEFAULT NULL,
		  `sec_acc` varchar(250) DEFAULT NULL,
		  `entry_name` varchar(15) DEFAULT NULL,
		  `creation_date` date DEFAULT NULL,
		  `last_update` date DEFAULT NULL,
		  `from_database` varchar(10) NOT NULL,
		  `prot_description` text DEFAULT NULL,
		  `organism` text DEFAULT NULL,
		  `taxonomy` text DEFAULT NULL,
                  `organelle` text DEFAULT NULL,
                  `sequence` text DEFAULT NULL,
                  `seq_length` smallint(3) DEFAULT NULL,
                  `seq_mw` smallint(6) DEFAULT NULL,
                  `phi` double DEFAULT NULL,
                  `keywords` text DEFAULT NULL,
                  `fragment_from` varchar(10) DEFAULT NULL,
                  `fragment_start` tinyint(3) DEFAULT 0,
                  `fragment_end` tinyint(3) DEFAULT 0,
                  `fragment_gap` tinyint(3) DEFAULT 0,
                  `date_insert` date DEFAULT NULL,
                  `date_update` date DEFAULT NULL,
                  `wiki_comment` int(11) DEFAULT NULL,
                  `label_amyloid` int(11) DEFAULT NULL,
		  PRIMARY KEY (`acc_number`))";
 
$create_table = query ($linksql, $query_table_creation);
 
$query_table_update="INSERT INTO `protein_sequence` 
                        (`acc_number`, 
                        `sec_acc`, 
                        `entry_name`, 
                        `creation_date`, 
                        `last_update`, 
                        `from_database`, 
                        `organism`, 
                        `taxonomy`, 
                        `sequence`, 
                        `seq_length`, 
                        `seq_mw`, 
                        `keywords`)
                         VALUES('".$acc_number."', 
                                '".$sec_acc."', 
                                '".$entry_name."', 
                                '".$creation_date."', 
                                '".$updated_date."',
                                '".$dataset."',
                                '".$org_sc.$org_com."',
                                '".$taxonomy."',
                                '".$seq."',
                                '".$seq_length."',
                                '".$seq_mw."',
                                '".$key."')
                         ON DUPLICATE KEY UPDATE   `sec_acc`=VALUES('".$sec_acc."'), 
                             `entry_name`=VALUES('".$entry_name."'), 
                             `creation_date`=VALUES('".$creation_date."'), 
                             `from_database`=VALUES('".$dataset."'), 
                             `organism`=VALUES('".$org_sc.$org_com."'), 
                             `taxonomy`=VALUES('".$taxonomy."'), 
                             `sequence`=VALUES('".$seq."'), 
                             `seq_length`=VALUES('".$seq_length."'), 
                             `seq_mw`=VALUES('".$seq_mw."'), 
                             `keywords`=VALUES('".$key."');";
Trouvez-vous l'erreur ?
Merci d'avance !