我不确定我遇到的问题在哪里发生。当我运行部署任务时,rake thinking_sphinx:configure工作正常,但是当它尝试索引它时会发生以下错误:
错误:索引'board_core':第6列没有名称。
错误:index'board_delta':第6列没有名称。
...依此类推我的所有索引和delta索引。起初我认为这是capistrano的一个问题,因为我在Windows机器和mac上安装了项目,并且cap staging deploy部署到ubuntu设置。
似乎错误的查询的SQL是:
SELECT `boards`.`id` * 5 + 2 AS `id` , CAST(`boards`.`name` AS CHAR) AS `name`, CAST(`boards`.`display_name` AS CHAR) AS `display_name`, CAST(`boards`.`description` AS CHAR) AS `description`, `boards`.`id` AS `sphinx_internal_id`, 2576811075 AS `class_crc`, '2576811075' AS `subclass_crcs`, 0 AS `sphinx_deleted`, UNIX_TIMESTAMP(`boards`.`created_at`) AS `created_at`, GROUP_CONCAT(DISTINCT `users`.`id` SEPARATOR ',') AS `user`, GROUP_CONCAT(DISTINCT `user_boards_boards`.`id` SEPARATOR ',') AS `user_board`, COUNT(user_boards.id) AS `num_users` FROM `boards` LEFT OUTER JOIN `user_boards` ON (`boards`.`id` = `user_boards`.`board_id`) LEFT OUTER JOIN `users` ON (`users`.`id` = `user_boards`.`user_id`) LEFT OUTER JOIN `user_boards` user_boards_boards ON user_boards_boards.board_id = boards.id WHERE `boards`.`id` >= $start AND `boards`.`id` <= $end AND `boards`.`delta` = 0 GROUP BY `boards`.`id` ORDER BY NULL
..意味着正在破坏的部分是选择0作为``sphinx_deleted \
,这对我来说似乎很好(直接通过mysql调用它时,减去使用$的where子句的部分开始和$结束当然)所以我不知道是什么导致错误。我唯一想到的是sphinx的索引器是错误的,但如果是这样的话,我仍然不知道如何解决这个问题。
提前感谢任何帮助/提示。
答案 0 :(得分:0)
什么是mysql服务器版本和mysql客户端版本。当客户端运行5.1或版本不匹配时,通常会发生此错误。