DELETE IF EXIST `#__menu`.*
FROM `#__menu`
LEFT JOIN `#__extensions` ON `#__extensions`.`name` = 'com_view'
WHERE `#__menu`.`component_id` = `#__xtensions`.`extension_id`
AND `#__menu`.`alias` = 'view-sites' AND `#__menu`.`path` = 'view-sites' AND `#__menu`.`title` = 'View sites';
Was ist falsch in meinem SQL? Ich denke, das Problem ist in IF EXIST
, aber ich konnte nicht herausfinden, wie man es in der Reihe verwendet.Zeile löschen, wenn vorhanden
aber es kann null sein (nur noch keine Erweiterung mit dieser ID) – Kin
Sie haben 'WHERE component_id = extension_id', es sollte nicht möglich sein fehlende Datensätze aus' #__ menu' oder '#__ extensions' zurückzuliefern Klausel; um auf der sicheren Seite zu sein, könntest du es entweder von einem 'LEFT JOIN' zu einem regulären' JOIN' ändern, * oder * du könntest 'component_id IS NOT NULL' hinzufügen (und/oder)' extension_id IS NOT NULL 'zu Ihrer' WHERE'-Klausel – newfurniturey
danke Mann, ich werde es versuchen – Kin