0

我不确定我遇到的问题发生在哪里。当我运行部署任务时 rake thinking_sphinx:configure 工作正常,但是当它尝试索引它时会发生此错误:

错误:索引“board_core”:第 6 列没有名称。
错误:索引“board_delta”:第 6 列没有名称。

...对于我所有的索引和增量索引,依此类推。起初我认为这是 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

..意味着破坏的部分是 select 0 as ``sphinx_deleted \,这对我来说似乎很好(当直接通过 mysql 调用它时它可以工作,当然减去使用 $start 和 $end 的 where 子句的部分)所以我不知道是什么可能导致错误。我唯一的想法是 sphinx 的索引器出错了,但如果是这种情况,那么我仍然不知道如何解决这个问题。

提前感谢您的任何帮助/提示。

4

1 回答 1

0

什么是mysql服务器版本,什么是mysql客户端版本。当客户端运行 5.1 或版本不匹配时,通常会发生此错误。

于 2009-10-01T04:18:04.190 回答