Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/06/2007, 05h35   #1
Invité de passage
 
Inscription : juin 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 3
Points : 1
Points : 1
Par défaut ON DUPLICATE KEY UPDATE et unicité sur 2 colonnes

Salut,

J'avais une colonne col2 en unique et j'utilisais le code
Code :
1
2
INSERT INTO TABLE (col2,col3) VALUES ('$ele1','$ele2')
ON DUPLICATE KEY UPDATE col4=col4+1
ça fonctionnait trés bien.
J'ai modifié ma table et j'ai mis l'unicité sur le couple (col2,col3)
A present, tant qu'il existe un seul couple le update s'effectu, mais dés qu'il y a plus d'un couple avec col2 identique le update est ignoré.

ON DUPLICATE KEY UPDATE ne fonctionne pas avec un couple de colonnes unique?

Merci de votre aide
dja07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 10h25   #2
Membre Expert
 
Inscription : avril 2005
Messages : 1 672
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 1 672
Points : 1 337
Points : 1 337
Citation:
Envoyé par dja07
ON DUPLICATE KEY UPDATE ne fonctionne pas avec un couple de colonnes unique?
Je ne connais pas cette instruction.
S'agit-il d'une spécificité de votre SGBD ?
Quel est votre SGBD d'ailleurs (cette information est exigée dans les règles du forum - merci d'y penser à l'avenir) ?
Fouillez dans les tutoriels de la rubrique SQL afin de déterminer si votre instruction fais partie de la norme SQL ou si c'est effectivement une particularité de votre SGBD.
Si c'est une particularité alors demandez à un modérateur de déplacer votre discussion dans le forum de votre SGBD (à lui indiquer).

Merci.
__________________
Modérateur des forums Oracle et Langage SQL
Forum SQL : je n'interviens PAS plus de 4 fois dans une discussion car si c'est nécessaire cela prouve généralement que vous n'avez pas respecté : les règles du forum
Magnus est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 10h28   #3
Rédacteur/Modérateur

 
Avatar de SQLpro
 
Homme Frédéric BROUARD
Expert SGBDR & SQL
Inscription : mai 2002
Messages : 10 959
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BROUARD
Localisation : France

Informations professionnelles :
Activité : Expert SGBDR & SQL
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 10 959
Points : 17 793
Points : 17 793
Cette commande n'existe pas en SQL.... Il doit encore s'agir d'un truc fumeux de MySQL !!!

A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro
http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation
* * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * *
SQLpro est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 10h29   #4
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
confirmé
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 10h44   #5
Modérateur
 
Avatar de al1_24
 
Homme Alain
Ingénieur d'études décisionnel
Inscription : mai 2002
Messages : 4 450
Détails du profil
Informations personnelles :
Nom : Homme Alain
Âge : 51
Localisation : France, Val de Marne (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études décisionnel
Secteur : Conseil

Informations forums :
Inscription : mai 2002
Messages : 4 450
Points : 7 559
Points : 7 559
Déplacé...
__________________
Modérateur Langage SQL
Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
N'oubliez pas le bouton et pensez aux balises [code]
Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
al1_24 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 14h31   #6
Invité de passage
 
Inscription : juin 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 3
Points : 1
Points : 1
En effet, c'est bien une instruction de MySQL.
Ça évite d'utiliser les "if", beaucoup trop lent sur les grandes tables.

Quelqu'un l'a t'il déjà utilisé avec l'unicité sur plusieurs colonnes (ou clé primaire sur plusieurs colonnes)

Merci
dja07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 15h14   #7
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Citation:
Envoyé par dja07
En effet, c'est bien une instruction de MySQL.
Ça évite d'utiliser les "if", beaucoup trop lent sur les grandes tables.

Quelqu'un l'a t'il déjà utilisé avec l'unicité sur plusieurs colonnes (ou clé primaire sur plusieurs colonnes)

Merci
Si une clé primaire existe (mono ou mutli colonne) c'est pour qu'elle tienne son role a savoir assurer l'unicité !!!
Utiliser ce genre d'instruction dénote une faille dans votre modèle de données.
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 15h48   #8
Invité de passage
 
Inscription : juin 2007
Messages : 3
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 3
Points : 1
Points : 1
Mille excuses!
Les modifications étaient bien effectuées!

Apparemment phpmyadmin met en cache ses pages. Je n'avais jamais remarqué cela auparavant. On est obligé de patienter un certain temps avant de pouvoir voir les modification dans phpmyadmin.

Bref pas très pratique lors des débugages pour les tests...

Peut être que mon hébergeur (1and1 - MySQL 5) vient juste d'activer cette fonction..

Merci a tous
dja07 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/06/2007, 16h54   #9
Membre Expert
 
Avatar de Yanika_bzh
 
Homme Yannick
Ingénieur Etudes & Developpements
Inscription : février 2006
Messages : 1 125
Détails du profil
Informations personnelles :
Nom : Homme Yannick
Localisation : France, Deux Sèvres (Poitou Charente)

Informations professionnelles :
Activité : Ingénieur Etudes & Developpements
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2006
Messages : 1 125
Points : 1 670
Points : 1 670
Penser au bouton [Résolu]
Yanika_bzh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h08.


 
 
 
 
Partenaires

Hébergement Web