如何使用字段 = old_value + new_value 更新 Sphinx 实时索引?
How to update Sphinx Realtime Index with field = old_value + new_value?
我正在尝试 update the Sphinx Search Realtime Index
,使用我的 Mysql Table 中的值,
我想 add the new value in the old value
这样的 RT 索引记录,
我想实现这个
UPDATE RT_index SET col1 = old_val + new_val WHERE id = xx ;
我正在尝试的查询是
UPDATE RT_index SET comments_count = comments_count + 3 WHERE id = 1157642
但是 Sphinx 给我错误
ERROR 1064 (42000): sphinxql: syntax error, unexpected IDENT,
expecting CONST_INT (or 4 other tokens) near 'comments_count + 3 WHERE
id = 1157642'
我试过这样的查询
UPDATE RT_index SET comments_count = value(comments_count) + 3 WHERE id = 1157642;
但 sphinx 仍然报错,
ERROR 1064 (42000): sphinxql: syntax error, unexpected IDENT,
expecting CONST_INT (or 4 other tokens) near 'value(comments_count) +
3 WHERE id = 1157642'
如何在 sphinx 实时索引中使用更新在旧值中添加新值?
我正在使用 PHP 来执行此操作。
中没有太多关于它的信息
你不能。需要先运行一个SELECT查询得到当前值,然后运行UPDATE。
不确定是否可以使用事务来使更新原子化。
我正在尝试 update the Sphinx Search Realtime Index
,使用我的 Mysql Table 中的值,
我想 add the new value in the old value
这样的 RT 索引记录,
我想实现这个
UPDATE RT_index SET col1 = old_val + new_val WHERE id = xx ;
我正在尝试的查询是
UPDATE RT_index SET comments_count = comments_count + 3 WHERE id = 1157642
但是 Sphinx 给我错误
ERROR 1064 (42000): sphinxql: syntax error, unexpected IDENT, expecting CONST_INT (or 4 other tokens) near 'comments_count + 3 WHERE id = 1157642'
我试过这样的查询
UPDATE RT_index SET comments_count = value(comments_count) + 3 WHERE id = 1157642;
但 sphinx 仍然报错,
ERROR 1064 (42000): sphinxql: syntax error, unexpected IDENT, expecting CONST_INT (or 4 other tokens) near 'value(comments_count) + 3 WHERE id = 1157642'
如何在 sphinx 实时索引中使用更新在旧值中添加新值?
我正在使用 PHP 来执行此操作。
中没有太多关于它的信息你不能。需要先运行一个SELECT查询得到当前值,然后运行UPDATE。
不确定是否可以使用事务来使更新原子化。