Supprimer des lignes d'une table MySQL à l'aide d'un LEFT JOIN
Question :
Vous en avez deux Tables MySQL, une représentant les délais de travail et une autre décrivant les travaux. Chaque tâche a un statut, et certains statuts indiquent que les lignes d'échéance correspondantes doivent être supprimées. À l'aide d'un LEFT JOIN, vous pouvez sélectionner la date limite et les lignes de travail qui répondent à vos critères. Cependant, lorsque vous tentez de supprimer ces lignes, vous rencontrez une erreur. Comment pouvez-vous modifier votre requête pour obtenir la suppression souhaitée ?
Réponse :
Pour supprimer des lignes d'une table MySQL à l'aide d'un LEFT JOIN, vous devez spécifier quelle table ( s) à supprimer. L'erreur que vous avez rencontrée est probablement due à l'omission de cette spécification.
Solutions :
1. Supprimer uniquement les lignes de date limite :
Pour supprimer uniquement les lignes de la table de dates limites, utilisez la requête suivante :
DELETE `deadline` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
2. Supprimer les lignes de date limite et de tâche :
Pour supprimer les lignes de date limite et de tâche, utilisez la requête suivante :
DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
3. Supprimer uniquement les lignes de travail :
Pour supprimer uniquement les lignes de travail, utilisez la requête suivante :
DELETE `job` FROM `deadline` LEFT JOIN `job` ON deadline.job_id = job.job_id WHERE ...;
Dans chaque cas, remplacez le ... par la clause WHERE appropriée pour précisez les statuts de travaux pour lesquels vous souhaitez supprimer les lignes.
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!