Maison >base de données >tutoriel mysql >Comment supprimer des lignes à l'aide de MySQL LEFT JOIN avec la syntaxe DELETE ?

Comment supprimer des lignes à l'aide de MySQL LEFT JOIN avec la syntaxe DELETE ?

DDD
DDDoriginal
2024-12-01 19:49:10949parcourir

How to Delete Rows Using MySQL LEFT JOIN with DELETE Syntax?

Suppression de lignes avec MySQL LEFT JOIN

Problème :

Vous avez deux tables : une pour les délais de travail et un autre pour les descriptions de poste. Vous devez supprimer les entrées de date limite en fonction des statuts dans le tableau de description de poste. L'utilisation d'un LEFT JOIN pour la sélection fonctionne, mais l'exécution d'un DELETE génère une erreur de syntaxe.

Requête de sélection :

SELECT * FROM `deadline`
LEFT JOIN `job` ON deadline.job_id = job.job_id
WHERE `status` = 'szamlazva'
OR `status` = 'szamlazhato'
OR `status` = 'fizetve'
OR `status` = 'szallitva'
OR `status` = 'storno'

Solution :

Pour effectuer l'opération DELETE, vous devez spécifier explicitement les tables dont vous souhaitez supprimer les lignes. Voici les options possibles :

Supprimer uniquement les lignes de date limite :

DELETE `deadline` FROM `deadline` LEFT JOIN `job` ....

Supprimer les lignes de date limite et de travail :

DELETE `deadline`, `job` FROM `deadline` LEFT JOIN `job` ....

Supprimer uniquement le travail Lignes :

DELETE `job` FROM `deadline` LEFT JOIN `job` ....

En spécifiant la table appropriée dans l'instruction DELETE, vous pouvez supprimer avec succès les lignes souhaitées en fonction du statut dans la table de description de poste.

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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn