Formation par Olivier Duffez

Formation au référencement par Olivier Duffez, créateur de WebRankInfo !
Une formule efficace alliant théorie et pratique, avec une haute disponibilité des intervenants
Cette formule a déjà convaincu plusieurs centaines d'entreprises, pourquoi pas vous ?
Réservez vite votre place en ligne (convention possible pour imputer sur le budget formation)

Formation référencement Marseille

[MySQL] Comment effacer simplement la dernière entrée ?

Aller à la page 1, 2  Suivante
Poster un nouveau sujet Imprimer cette discussion    Forum -> Développement d'un site Web   Les dernières discussions de ce forum sont disponibles au format RSS
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 
SuperPJ
WRInaute passionné
WRInaute passionné

Inscrit le: 15 Jan 2005
Messages: 513
Localisation: Paris, France

URL permanente de ce messagePosté le : Dim Oct 30, 2005 14:13    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

Salut à tous,

Existe-t-il un moyen en une seule requête d'effacer la dernière entrée d'une table ?

Pour l'instant je fais via PHP :
Code:
SELECT MAX(id) as maxid FROM table;
DELETE FROM table WHERE id='$maxid';

... mais ca nécessite 2 requêtes SQL donc ce n'est pas très optimal.


J'ai donc essayé plein de trucs mais rien ne marche :
Code:
=> DELETE FROM table WHERE id=MAX(id);
=> DELETE FROM table WHERE id=LAST(id);
=> DELETE FROM table ORDER BY id DESC LIMIT 1;

error ... error ... error Evil or Very Mad
à noter que la version MySQL de mon hébergeur ne reconnait pas non plus les SubQueries.

Que faire Crying or Very sad ?
 
SuperPJ Visiter le site web du posteur
spidetra
WRInaute accro
WRInaute accro

Inscrit le: 07 Juil 2003
Messages: 1499
Localisation: Toulouse

URL permanente de ce messagePosté le : Dim Oct 30, 2005 14:19    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

Code:

DELETE  FROM table
         ORDER BY `id` desc
         LIMIT 1


normalement ça marche
http://dev.mysql.com/doc/refman/4.1/en/delete.html
 
SuperPJ Visiter le site web du posteur
SuperPJ
WRInaute passionné
WRInaute passionné

Inscrit le: 15 Jan 2005
Messages: 513
Localisation: Paris, France

URL permanente de ce messagePosté le : Dim Oct 30, 2005 14:28    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

Oui ça le devrait mais apparemment mon hébergeur utilise une version trop vieille de MySQL Sad
Nous sommes sous la version 3.23.58
 
SuperPJ Visiter le site web du posteur
spidetra
WRInaute accro
WRInaute accro

Inscrit le: 07 Juil 2003
Messages: 1499
Localisation: Toulouse

URL permanente de ce messagePosté le : Dim Oct 30, 2005 15:26    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

SuperPJ a écrit:
Nous sommes sous la version 3.23.58


Ha oui, quand même, désolé pour toi Exclamation
Il est pas capable de faire un upgrade de sa version de MySQL, ton hébergeur ?
 
SuperPJ Visiter le site web du posteur
spidetra
WRInaute accro
WRInaute accro

Inscrit le: 07 Juil 2003
Messages: 1499
Localisation: Toulouse

URL permanente de ce messagePosté le : Dim Oct 30, 2005 15:27    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

...

Dernière édition par spidetra le Dim Oct 30, 2005 20:05; édité 1 fois
 
SuperPJ Visiter le site web du posteur
spidetra
WRInaute accro
WRInaute accro

Inscrit le: 07 Juil 2003
Messages: 1499
Localisation: Toulouse

URL permanente de ce messagePosté le : Dim Oct 30, 2005 15:27    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

...

Dernière édition par spidetra le Dim Oct 30, 2005 20:05; édité 1 fois
 
SuperPJ Visiter le site web du posteur
SuperPJ
WRInaute passionné
WRInaute passionné

Inscrit le: 15 Jan 2005
Messages: 513
Localisation: Paris, France

URL permanente de ce messagePosté le : Dim Oct 30, 2005 16:39    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

J'espère bien ! Je viens de lui poser la question sur notre forum interne ...

En effet, je ne vois pas l'intérêt de tourner sous de vieilles versions alors que les plus récentes nous permettent d'optimiser nos requêtes et donc de décharger leurs serveurs ... en ce moment je suis souvent obligé de faire plusieurs requêtes qui n'en nécessiteraient qu'une seule si nous étions à jour Sad cela dit faut voir s'ils n'upgradent pas à cause de problèmes d'incompatibilité qui feraient planter certains vieux scripts PHP faits sous MySQL-3.2 ...
 
SuperPJ Visiter le site web du posteur
DreamJap
WRInaute occasionnel
WRInaute occasionnel

Inscrit le: 06 Mai 2005
Messages: 114

URL permanente de ce messagePosté le : Dim Oct 30, 2005 16:47    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

Il me semble que les versions de MySQL latest sont compatible avec les anciennes du moins avec les scripts PHP.
 
DreamJap Visiter le site web du posteur
TOMHTML
WRInaute accro
WRInaute accro

Inscrit le: 25 Aoû 2004
Messages: 3096
Localisation: http://www.vrai-nom.com

URL permanente de ce messagePosté le : Dim Oct 30, 2005 17:56    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

fais gaffe quand même PJ, si tu as mis un ID avec incrémentation à chaque nouvelle entrée
car si tu supprime l'entrée n°10, il ne te reste plus que l'entrée n°9 et les précédentes, mais si tu ajoute une nouvelle entrée elle sera numérotée n°11 et pas n°10, malheureusement

méfie toi donc, petit scarabé Wink
 
TOMHTML Visiter le site web du posteur
spidetra
WRInaute accro
WRInaute accro

Inscrit le: 07 Juil 2003
Messages: 1499
Localisation: Toulouse

URL permanente de ce messagePosté le : Dim Oct 30, 2005 18:01    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

TOMHTML a écrit:
précédentes, mais si tu ajoute une nouvelle entrée elle sera numérotée n°11 et pas n°10, malheureusement


et pas n° 10.... heureusement !
 
TOMHTML Visiter le site web du posteur
SuperPJ
WRInaute passionné
WRInaute passionné

Inscrit le: 15 Jan 2005
Messages: 513
Localisation: Paris, France

URL permanente de ce messagePosté le : Dim Oct 30, 2005 18:50    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

TOMHTML a écrit:
si tu ajoute une nouvelle entrée elle sera numérotée n°11 et pas n°10, malheureusement

méfie toi donc, petit scarabé Wink

Moi aussi je pensais comme toi mais renuméroter les IDs à chaque suppression(s) ralentirait à fond MySQL Wink

Et puis l'autre raison c'est que l'ID est souvent utilisé pour identifier de façon unique un client. Imagine tu es le client Adsense n°123456 et que Google vient de supprimer le client n°123455 parce qu'il passait son temps à cliquer sur ses bannières Very Happy. Si SQL renumérotait les IDs, tu prendrais alors la place du client banni et bye bye tes revenus Adsense Very Happy
 
SuperPJ Visiter le site web du posteur
spidetra
WRInaute accro
WRInaute accro

Inscrit le: 07 Juil 2003
Messages: 1499
Localisation: Toulouse

URL permanente de ce messagePosté le : Dim Oct 30, 2005 19:07    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

SuperPJ a écrit:
Si SQL renumérotait les IDs, tu prendrais alors la place du client banni et bye bye tes revenus Adsense Very Happy


Normalement, c'est gérer par les règles d'intégrité référentielle ( on delete cascade, on update cascade ) ou par des triggers.
ce qui commence à être pris en compte dans MySQL 5.0
donc normalement pas de risque pour tes revenus adsense Smile

Les ID auto-incrément se sont là que pour identifier de manière unique un enregistrement, ils n'ont "pas de sens" dans une DB.
donc c'est vraiment pas grave, s'il y a des trous, et c'est bc plus simple à gérer. Si MySQL reprenait le n° 10, il faudrait être sûr d'avoir des devs en béton.


C'est plus grave pour les champs qui auraient un sens :
Ex n° de facture pour une comptabilité

Le fisc aime pas trop voir des trous dans les séries de n° de facture, et donc là la gestion doit être plus fine.
 
SuperPJ Visiter le site web du posteur
SuperPJ
WRInaute passionné
WRInaute passionné

Inscrit le: 15 Jan 2005
Messages: 513
Localisation: Paris, France

URL permanente de ce messagePosté le : Dim Oct 30, 2005 19:13    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

spidetra a écrit:
Ha oui, quand même, désolé pour toi Exclamation
Il est pas capable de faire un upgrade de sa version de MySQL, ton hébergeur ?

Je viens d'obtenir cette réponse de mon hébergeur : "il n'est pas prévu de les migrer car la procédure de migration ne garantit pas une compatibilité à 100% et certains sites ne fonctionneraient plus".

Voili voilou Sad
 
SuperPJ Visiter le site web du posteur
TOMHTML
WRInaute accro
WRInaute accro

Inscrit le: 25 Aoû 2004
Messages: 3096
Localisation: http://www.vrai-nom.com

URL permanente de ce messagePosté le : Dim Oct 30, 2005 19:24    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

SuperPJ a écrit:
et certains sites ne fonctionneraient plus".

moins d'une dizaine à tout casser
franchement si le site fonctionne avec cette version de php, ça fonctionne assurément avec la version supérieure ! Quelques fonctions seraient devenues désuettes mais elle fonctionneraient toujours je pense, non ?
 
TOMHTML Visiter le site web du posteur
SuperPJ
WRInaute passionné
WRInaute passionné

Inscrit le: 15 Jan 2005
Messages: 513
Localisation: Paris, France

URL permanente de ce messagePosté le : Dim Oct 30, 2005 19:34    Sujet du message: [MySQL] Comment effacer simplement la dernière entrée ?

A priori je suis de ton avis TOMHTML, surtout pour une application aussi sensible et aussi répandue que MySQL. Mais bon c'est la réponse qui m'a été donnée par l'hébergeur !

En tout cas si tu veux une version récente de MySQL je te conseille pas mon hébergeur Wink ah t'es déjà chez eux ? Je me demande qui est le lascar qui te l'a conseillé Very Happy jrigole Wink
 
SuperPJ Visiter le site web du posteur
 
Montrer les messages depuis:   
Revenir en haut    Forum -> Développement d'un site Web Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 2 - Aller à la page 1, 2  Suivante
Connexion
Nom d'utilisateur:    Mot de passe:      Se connecter automatiquement à chaque visite    

Définitions :

CLIQUEZ ICI pour vous inscrire à WebRankInfo (forum, annuaire, outils...)

Connexion

© 2001-2005 phpBB Group, support français
Personnalisation : WebRankInfo ™


 ODP  Firefox  Alsacreations  annuaire webmaster Yagoort