2014-10-02 3 views
0
SELECT last_played INTO @lp FROM sr WHERE creator_id = 1 AND playing = 1 LIMIT 1; 
SELECT stream_id INTO @sid FROM account_stream WHERE owner = 1 AND enabled = 1 LIMIT 1; 
UPDATE sr SET last_played = 1412259166 WHERE creator_id = 1 AND playing = 1 LIMIT 1; 
IF @lp != NULL THEN UPDATE streams SET duration = (duration + (1412259166 - @lp)) WHERE id = @sid LIMIT 1; END IF; 

То, что я пытаюсь сделать: когда @lp возвращает что-то (другими словами, при воспроизведении 1 в первом запросе), тогда выполните последний запрос потока обновлений.MySQL IF выражение возвращает ошибку

Я получаю эту ошибку в PhpMyAdmin Тхо:

1064 - У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с «IF @lp! = 0 THEN UPDATE streams SET duration = (продолжительность + (1412259166 - @ lp)) W 'по строке 1

I Я никогда не работал с mysql, если бы условия раньше, так, может кто-нибудь мне помочь?

+0

Я узнал, что если нельзя использовать внешние процедуры. Любые предложения по-прежнему приветствуются. –

+0

'' '' @lp! = NULL'''' не должно быть '' '' @lp NOT NULL''''? –

ответ

1
UPDATE streams SET duration = (duration + (1412259166 - @lp)) 
WHERE @lp IS NOT NULL AND id = @sid 
Смежные вопросы