(/../index.php:170 /../index.php:177 /../index.php:1265 /../markread.php:37 /.../index.php:1349 ) near "FROM": syntax error: HY000 Query: UPDATE fud28_read SET user_id=2, msg_id=t.last_post_id, last_view=1244710953 FROM (SELECT id, last_post_id FROM fud28_thread WHERE forum_id=4 AND last_post_date > 0) t WHERE user_id=2 AND thread_id=t.id _GET: array ( 't' => 'markread', 'S' => 'c481affee58a2ee137407901703d2d25', 'id' => '4', 'SQ' => '75db9163c00ef442937024842e839152', ) Server Version: 3.3.8 [Referring Page] http://news.piratenpartei-hamburg.de/index.php?t=thread&frm_id=4&S=c481affee58a2ee137407901703d2d25
UPDATE fud28_read SET user_id=2, last_view=1244710953, msg_id=(SELECT last_post_id FROM fud28_thread WHERE id = fud28_read.thread_id) WHERE user_id=2 AND thread_id in (SELECT id FROM fud28_thread WHERE forum_id=4 AND last_post_date > 0)
naudefj wrote on Sat, 13 June 2009 09:47 |
I've asked for help on the sqlite mailing list. Pavel Ivanov replied with this alternate syntax that will work on sqlite: |
Index: users.inc.t =================================================================== RCS file: /forum21/install/forum_data/src/users.inc.t,v retrieving revision 1.171 diff -u -r1.171 users.inc.t --- users.inc.t 3 May 2009 18:57:06 -0000 1.171 +++ users.inc.t 15 Jun 2009 17:12:27 -0000 @@ -781,7 +781,7 @@ function user_mark_forum_read($id, $fid, $last_view) { - if (__dbtype__ == 'mysql') { + if (__dbtype__ == 'mysql' || __dbtype__ == 'sqlite') { if ($GLOBALS['FUD_OPT_3'] & 1024) { q('INSERT INTO {SQL_TABLE_PREFIX}read (user_id, thread_id, msg_id, last_view) SELECT '.$id.', id, last_post_id, '.__request_timestamp__.' FROM {SQL_TABLE_PREFIX}thread WHERE forum_id='.$fid.' AND last_post_date > '.$last_view.' ON DUPLICATE KEY UPDATE last_view=VALUES(last_view), msg_id=VALUES(msg_id)'); } else {