【发布时间】:2014-11-27 13:43:09
【问题描述】:
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 时),然后执行最后一个更新流查询。
我在 phpmyadmin 中收到此错误:
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 'IF @lp != 0 THEN UPDATE streams SET duration = (duration + (1412259166 - @lp)) W' 附近使用正确的语法
我以前从未使用过 mysql if conditions,所以,谁能帮帮我?
【问题讨论】:
-
我了解到if不能在程序外使用。仍然欢迎任何建议。
-
@lp != NULL不应该是@lp IS NOT NULL吗?
标签: mysql if-statement conditional-statements