WHERE (user_id = 17 OR user_id IS NULL) AND name = "menu_items"
Und nur um den Rest der Abfrage aufzuräumen:
Die id in den definierten Einstellungen nicht vorhanden sein muss, verwenden Sie einen kombinierten Schlüssel aus preference_id und user_id stattdessen.
Wenn die id von preferences wurde preference_id genannt , das lange ON -Anweisung könnte durch USING(preference_id) ersetzt werden
Das IF Die Funktion kann durch COALESCE(defined_value, default_value) ersetzt werden