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!