Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SergioRP

Apagar último registro de uma tabela

Recommended Posts

Supondo a maior chave de uma tabela :

 

 

delete tabela
where id = (select max(id) from tabela)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou assim?

 

<?php
   $SQL = "DELETE FROM `myTbl` WHERE `id` = (SELECT MAX(`id`) FROM `myTbl`)";
?>

De novo o site retornou o erro You can't specify target table 'teste' for update in FROM clause

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria assim.

 

<?php
$query = mysql_query("SELECT id FROM tabela ORDER BY id DESC LIMIT 1");
$res = mysql_fetch_array($query);
$id = $res['id'];
$query = mysql_query("DELETE FROM tabela WHERE id = '".$id."'");
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faria assim.

 

<?php
$query = mysql_query("SELECT id FROM tabela ORDER BY id DESC LIMIT 1");
$res = mysql_fetch_array($query);
$id = $res['id'];
$query = mysql_query("DELETE FROM tabela WHERE id = '".$id."'");
?>

Dessa maneira vai funcionar.

 

Amigo do tópico, você não pode colocar a tabela que está fazendo DELETE (ou um UPDATE) na cláusula em uma subquery da clausula WHERE.

 

Faça como este colega sugeriu, em duas partes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.