Sono riuscito a risolvere, posto il codice nel caso in cui servisse a qualcuno:
In poche parole non mi prendeva il blocco if perchè non era inserito all'interno di una funzioneCodice PHP:
delimiter //
CREATE PROCEDURE myfunction()BEGIN
SET @count = (SELECT COUNT(*) FROM mytable WHERE request_id='');
IF @count < 1 THENINSERT INTO mytable (user_id, request_id)VALUES ('noname','');ELSEUPDATE mytable SET request_id='bblabla' WHERE request_id='' LIMIT 1;END IF;
END//
delimiter ;
CALL myfunction();