Erreur Sql ON DUPLICATE KEY UPDATE

rafarel
Invité n'ayant pas de compte PHPfrance

27 mai 2007, 20:59

Voila, j'ai une erreur sur cette requete :

INSERT INTO stocks (id_article,id_taille,id_lieu,qte) VALUES ('1','01','7','2') ON DUPLICATE KEY UPDATE qte = 2

J'ai une clé primaire sur les trois champs id_article,id_taille,id_lieu
Ce script a marché avec easy php et marche sur un de mes hebergement
Mais la ou je dois heberger le site la requete ne marche pas
La version de SQL et 5.xx

Aidez moi please !!

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

27 mai 2007, 21:29

Et c'est quoi l'erreur... ? :roll:

Les messages d'erreur ne sont pas là pour décorer, ils donnent des indications pour résoudre le problème, alors donnez les bordel de dieu !!!! :evil:

rafarel
Invité n'ayant pas de compte PHPfrance

29 mai 2007, 12:46

MySQL a répondu:
#1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON DUPLICATE KEY UPDATE qte = 2' at line 1

Ca c'est le message que jai quand jessaie la requete sur phpmyadmin.
Elle marche quand je la test avec le phpmyadmin de easyphp mais pas sur mon hebergement.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

29 mai 2007, 13:05

De quel type est le champ qté?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Invité
Invité n'ayant pas de compte PHPfrance

29 mai 2007, 20:54

Voici un screen de phpmyadmin. Merci :)

Image

rafarel
Invité n'ayant pas de compte PHPfrance

30 mai 2007, 17:57

Ben, le champ qte est de type INT
C'est frustrant comme erreur, est ce que c'est deja arrivé a qqn?
Merci de votre aide !!

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

30 mai 2007, 18:19

Le message d'erreur est clair, il ne reconnait pas "ON DUPLICATE KEY UPDATE", ta version de MySQL est donc 4.0.

Vérifie avec ton hébergeur de quelle version de MySQL tu disposes.

rafarel
Invité n'ayant pas de compte PHPfrance

30 mai 2007, 20:46

Bonsoir,
Ma version de Mysql est 5.0.32 j'ai fait tout un tas d'essais avec des requetes ON DUPLICATE KEY UPDATE sur dautres tables et ca ne marche pas. Je pense que la version de mysql est buggé est ce que qqn a eu l'occasion de tester cette version cest celle que jai avec mon hebergement chez OVH.
J'ai un autre hebergement chez eux et la version de mysql est 5.0.24 et les requetes ON DUPLICATE KEY.. fonctionne tres bien dans tous les essais que jai pu faire.
Je suis desesperer je ne sais pas si ils vont me changer cette version de mysql qui deconne.
Merci

rafarel
Invité n'ayant pas de compte PHPfrance

31 mai 2007, 14:53

Salut, en effet la version de mysql etait la version 4, sauf que dans lacceuil de php my admin c'est marqué la version sql 5.0.32 ce qui m'a mis dans la confusion.
Apres avoir bien chercher dans les outils dadmin de mon hebergeur jai trouver comment passé reelement en 5.0.
Merci