Maison  >  Article  >  base de données  >  Introduction aux restrictions de suppression de la sous-requête dans MySQL

Introduction aux restrictions de suppression de la sous-requête dans MySQL

不言
不言avant
2019-02-21 11:53:164644parcourir

Cet article vous apporte une introduction aux restrictions de suppression d'où la sous-requête dans MySQL. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile. .

1. Lorsque vous utilisez MySQL pour effectuer une opération de suppression, si la clause FROM de la sous-requête et l'objet de mise à jour/suppression utilisent la même table, une erreur se produira. (Recommandations associées : Tutoriel MySQL)

mysql> DELETE FROM 'tab' où id in (sélectionnez min(id) dans la balise GROUP BY field1,field2 HAVING COUNT(id)>1 );
erreur : vous ne pouvez pas spécifier l'onglet "tab" de la table cible pour la mise à jour dans la clause FROM "Cette limitation peut être résolue dans la plupart des cas en ajoutant une couche supplémentaire de tables d'alias sélectionnées, comme ceci

2.supprimer de la table... La table ne peut pas utiliser d'alias
DELETE FROM 'tab' where id in
(
    select id from 
    (
        select max(id) from 'tab' GROUP BY field1,field2 HAVING COUNT(id)>1
    ) ids
);

    mysql> supprimer de la table a où a.id dans (1,2) ; 🎜>
  • mysql> sélectionnez a.* dans la table a où a.id dans (1,2);(exécuté avec succès)


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer