Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Outils
Outils Forum d'entraide sur les outils pour MySQL. Avant de poster -> Outils 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 30/01/2007, 12h32   #1
Modérateur
 
Avatar de ymoreau
 
Homme Yoann Moreau
Ingénieur en laboratoire de recherche
Inscription : septembre 2005
Messages : 724
Détails du profil
Informations personnelles :
Nom : Homme Yoann Moreau
Âge : 26
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur en laboratoire de recherche
Secteur : Enseignement

Informations forums :
Inscription : septembre 2005
Messages : 724
Points : 1 130
Points : 1 130
Par défaut Erreur de DELETE

Bonjour, ça fait un moment que j'essaie différentes choses en regardant des exemples sur le net mais rien à faire. J'essaie avec du php de supprimer plusieurs lignes d'une table.
J'ai fini par essayer d'en supprimer une seule pour voir, mais même ça, ça ne marche pas. Même en essayant exactement la même syntaxe que dans phpmyadmin ça ne passe pas.

La table est un livre d'or, la clé est un index entier.

Code :
1
2
3
$cmd = "DELETE FROM db_livredor WHERE index = 47 LIMIT 1";
IF(!($result = mysql_query($cmd) OR die($cmd.' - '.mysql_error())))
	echo "<p class=\"erreur\">Erreur SQL, messages non supprim&eacute;s.</p>";
J'ai essayé différentes choses, au départ sans le "LIMIT 1", j'obtiens toujours ce message:
Citation:
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 'index = 47 LIMIT 1' at line 1
Sachant que dans phpmyadmin la suppression en graphique me donnait cette syntaxe exactement :/

merci d'avance
ymoreau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 13h44   #2
Modérateur
 
Avatar de Cybher
 
Homme Michel
Consultant informatique
Inscription : mai 2005
Messages : 3 006
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : mai 2005
Messages : 3 006
Points : 4 039
Points : 4 039
salut,

essaie ceci :
Code :
DELETE FROM db_livredor WHERE `index` = 47
de plus, index est un mot réservé pour mysql
tu devrais pensé a changer le nom de ta colonne

bon courage

Michel
Cybher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 14h18   #3
Expert Confirmé Sénior
 
Avatar de qi130
 
Homme Pierre
Ingénieur qualité méthodes
Inscription : mars 2003
Messages : 3 726
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Ingénieur qualité méthodes
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 3 726
Points : 4 739
Points : 4 739
et si `index` est la clé, pas besoin de LIMIT 1 car il n'y en a qu'un seul dans la table pour 1 valeur donnée.
__________________
"Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
-----------------------
Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
Usus magister est optimus
qi130 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 18h03   #4
Modérateur
 
Avatar de ymoreau
 
Homme Yoann Moreau
Ingénieur en laboratoire de recherche
Inscription : septembre 2005
Messages : 724
Détails du profil
Informations personnelles :
Nom : Homme Yoann Moreau
Âge : 26
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur en laboratoire de recherche
Secteur : Enseignement

Informations forums :
Inscription : septembre 2005
Messages : 724
Points : 1 130
Points : 1 130
Erf je savais pas que c'était réservé, j'ai changé le nom de "index" est ça marche, merci.

Tant que j'y suis mon idée à la base était de supprimer un nombre non défini de lignes, j'ai les numéros d'index dans un tableau php, je peux en faire une longue chaîne caractère où chaque numéro est séparé d'une chaîne caractère choisie.
Est-il possible de donner dans la requête sql la liste des index à supprimer ?
ymoreau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 18h12   #5
Modérateur
 
Avatar de Cybher
 
Homme Michel
Consultant informatique
Inscription : mai 2005
Messages : 3 006
Détails du profil
Informations personnelles :
Nom : Homme Michel
Âge : 29
Localisation : France

Informations professionnelles :
Activité : Consultant informatique
Secteur : Conseil

Informations forums :
Inscription : mai 2005
Messages : 3 006
Points : 4 039
Points : 4 039
Code :
DELETE FROM TABLE WHERE colonne IN (val1,val2,...)
Cybher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 18h30   #6
Modérateur
 
Avatar de ymoreau
 
Homme Yoann Moreau
Ingénieur en laboratoire de recherche
Inscription : septembre 2005
Messages : 724
Détails du profil
Informations personnelles :
Nom : Homme Yoann Moreau
Âge : 26
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur en laboratoire de recherche
Secteur : Enseignement

Informations forums :
Inscription : septembre 2005
Messages : 724
Points : 1 130
Points : 1 130
Ok merci beaucoup, tout marche niquel

Une dernière question, est-il possible de faire la même chose (ou avec une syntaxe équivalente) avec une clé de type "date" ?
ymoreau est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 19h48   #7
Modérateur
 
Avatar de ymoreau
 
Homme Yoann Moreau
Ingénieur en laboratoire de recherche
Inscription : septembre 2005
Messages : 724
Détails du profil
Informations personnelles :
Nom : Homme Yoann Moreau
Âge : 26
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Ingénieur en laboratoire de recherche
Secteur : Enseignement

Informations forums :
Inscription : septembre 2005
Messages : 724
Points : 1 130
Points : 1 130
Hem ok j'ai rien dit ^^ il suffisait de mettre les valeurs entourées de simple quote =)
ymoreau 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 01h22.


 
 
 
 
Partenaires

Hébergement Web