我正在尝试update the Sphinx Search Realtime Index
,使用我的Mysql Table中的值。
我想像这样记录RT索引的add the new value in the old value
,
我想实现这个
UPDATE RT_index SET col1 = old_val + new_val WHERE id = xx ;
我正在尝试的查询是
UPDATE RT_index SET comments_count = comments_count + 3 WHERE id = 1157642
但是斯芬克斯给我的错误
ERROR 1064(42000):sphinxql:语法错误,意外IDENT, 期待'comments_count + 3 WHERE附近的CONST_INT(或其他4个令牌) id = 1157642'
我尝试了像这样的查询
UPDATE RT_index SET comments_count = value(comments_count) + 3 WHERE id = 1157642;
但仍然sphinx会出错,
ERROR 1064(42000):sphinxql:语法错误,意外IDENT, 期待'value(comment_count)+附近的CONST_INT(或其他4个令牌) 3 WHERE id = 1157642'
如何使用sphinx实时索引中的更新在旧值中添加新值?
我正在使用PHP来执行此操作。
中的信息不多答案 0 :(得分:1)
你做不到。需要首先运行SELECT查询以获取当前值,然后运行UPDATE。
不确定是否可以使用事务来使更新成为原子。