почему я получаю ошибку:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF EXISTS(SELECT id FROM mytable WHERE id = '1')' at line 1
запрос:
IF EXISTS(SELECT id FROM mytable WHERE id = '1')
Спасибо
IF EXISTS работает только в хранимой процедуре.Вне хранимой процедуры IF() является функцией, которая принимает 3 аргумента.Правильное использование будет
IF EXISTS
IF()
SELECT IF(EXISTS(SELECT `column` FROM `table` WHERE `id` = `1`), 1, 0);
Не сейчас на машине с MySQL, но похоже, что это потому, что оператор неполный, вам нужно указать ему, что делать, если идентификатор существует.
ЕСЛИ СУЩЕСТВУЕТ (...) сделать что-то
IF EXISTS не имеет никакого смысла в MySQL.См. подзапросы с EXISTS или NOT EXISTS в документации по использованию MySQL.
По сути, вам нужно использовать его в выражении, а не просто как логический блок
Попробуйте использовать
Declare @ID Integer Select @ID=id From mytable where id=1 IF @ID is not null OR IF @ID > 0 Begin .... End