2012-01-15 6 views

Répondre

2

Je pense que ce dont vous avez besoin est le suivant:

START TRANSACTION; 
    DELETE FROM tab1 
    where id = (SELECT id FROM tab1 WHERE /*your condition here*/); 
COMMIT; 

Edit: Sur la base de commentaires du PO ci-dessous, il n'y a aucun moyen de savoir quelle ligne était le dernier supprimé, mais vous pouvez créer un Trigger pour faire cela pour vous, voir This tutorial.

+0

Je dois retourner l'ID à Teh script php ainsi. – user1119096

+0

Ensuite, vous devriez avoir spécifié cela dans votre question ... – buc

+0

Il n'y a aucun moyen de dire quelle est la dernière ligne a été supprimée, mais vous pouvez utiliser le déclencheur pour le faire voir ceci: http://dev.mysql.com/ doc/refman/5.0/fr/triggers.html –

0

Ceci est le code SQL dont vous avez besoin, afin de réaliser ce que vous avez demandé.

START TRANSACTION; 
    DELETE 
    FROM tab1 
    WHERE id IN (
    SELECT id 
    FROM tab1 
    WHERE 1=1 
    LIMIT 1 
    ) 
COMMIT; 

Pour passer les résultats à PHP, vous devez utiliser Triggers.

+0

Je dois retourner l'ID au script PHP comme bien. – user1119096

1

de votre recherche:

START TRANSACTION; 
    SELECT * FROM tab1 WHERE 1 LIMIT 1; 
    DELETE FROM tab1 WHERE id="{HOW TO ACCESS ID FROM THE SELECT ABVOE?}" 
COMMIT; 

je croyais que vous voulez supprimer le premier enregistrement sur la table. vous pouvez obtenir un indice de cet exemple:

START TRANSACTION; 
    SELECT @A:=SUM(salary) FROM table1 WHERE type=1; 
    UPDATE table2 SET [email protected] WHERE type=1; 
    SELECT @A as UpdateID; 
COMMIT; 
+0

Je dois également renvoyer l'ID au script php. – user1119096

Questions connexes