Non è possibile utilizzare il blocco di controllo IF FUORI dalle funzioni. Quindi ciò influirà su entrambe le tue domande.
Trasforma la clausola EXISTS in una sottoquery invece all'interno di una funzione SE
SELECT IF( EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?), 1, 0)
In effetti, i booleani vengono restituiti come 1 o 0
SELECT EXISTS(
SELECT *
FROM gdata_calendars
WHERE `group` = ? AND id = ?)