Rechercher : dans
Par :

Sql- delete le dernier tuple ajoute ?

Dernière réponse le 5 fév 2007 à 19:19:48 Salandar, le 5 fév 2007 à 18:16:01 
 Signaler ce message aux modérateurs

Bonjour,
Je programme une partie d'un logiciel en JAVA et je fais appel au langage SQL.
J'ai un petit problème avec la commande DELETE.
Alors voila je me demande comment DELETE le tout dernier tuple ajouté à une table.
Voici comment j'utilise le DELETE , bien sur ca ne marche pas.

DELETE FROM Table WHERE matricule="+matricule+" AND id=(SELECT MAX(id) FROM Table;

matricule étant ici une FOREIGN KEY sur une autre table et id étant la clé primaire de la table Table.

Alors j'aimerais savoir qu'elle est la bonne requête à effectuer.

Merci d'avance pour votre aide et bonne soirée

Configuration: Windows XP
Firefox 2.0.0.1

Meilleures réponses pour « sql delete le dernier tuple ajoute ? » dans :
SQL - Modification de table VoirModification de table Il est possible de supprimer une table grâce à la clause DROP, il existe aussi des commandes moins extrêmes permettant L'ajout de colonnes La modification de colonnes La suppression de colonnes Enfin, il est possible...
SQL - Jointures VoirExpression des jointures Une jointure (ou θ-jointure) est un produit cartésien de deux tables. On appelle équijointure une θ-jointure dont la qualification est une égalité entre deux colonnes. En SQL, l'expression d'une jointure se...
SQL - Mise à jour d'informations VoirLe SQL permet la modification d'une table par un utilisateur (pour peu qu'il ait les droits suffisants...). La modification d'une table consiste à: ajouter des tuples modifier des tuples existants ou bien supprimer des tuples Insertion de...

1

Reivax962, le 5 fév 2007 à 18:22:49

Bonjour,

Deux choses.

- Premièrement, cela dépend de ton SGBD. Quel base de données utilises-tu ?
- Deuxièmement, utilisé MAX(id) est très dangereux. Imagine que deux personnes travaillent en même temps, le premier rentre des données, le deuxième aussi, puis le premier veut supprimer sa ligne : il va effacer celle de son collègue ! Il existe des méthodes pour régler ce genre de problèmes, mais elles dépendent de ton SGBD. D'où le première remarque ;)

Xavier

Répondre à Reivax962

2

 Salandar, le 5 fév 2007 à 19:19:48

J'utilise MySQL comme sgbd.
Si il existe un meilleur moyen ca serait bien en effet.
Nous avons en cours parlé des transactions ca doit avoir un rapport avec ca.
Mais le logiciel que nous développons ne sera sans doute pas multiposte mais bon sais-ton jamais si possible ca serait bien d'avoir une méthode assez complète.
Merci de ton aide.

Répondre à Salandar