Utilisez SQL pour supprimer les lignes sans correspondance
Lorsque vous travaillez avec plusieurs tables dans une base de données relationnelle, il est parfois nécessaire d'identifier et de supprimer les lignes d'une table qui n'ont pas de correspondances correspondantes dans une autre table. Ce processus est souvent appelé « suppression des entrées orphelines ».
Considérez le scénario suivant :
Pour ce faire, vous pouvez utiliser différentes méthodes SQL :
<code class="language-sql">DELETE b FROM BLOB b LEFT JOIN FILES f ON f.id = b.fileid WHERE f.id IS NULL</code>
<code class="language-sql">DELETE FROM BLOB WHERE NOT EXISTS(SELECT NULL FROM FILES f WHERE f.id = fileid)</code>
<code class="language-sql">DELETE FROM BLOB WHERE fileid NOT IN (SELECT f.id FROM FILES f)</code>
REMARQUE : Si possible, il est recommandé d'effectuer des opérations de suppression au sein d'une transaction afin que vous ayez la possibilité d'annuler les modifications si des problèmes inattendus surviennent.
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!