我想让这个索引起作用:
sql_query = \
SELECT bo.es_id, bo.es_id as id, mem.es_country, es_uid, bo.es_featured
as es_featured,
**bo.es_reverse_featured**, mem.es_signup_status as es_signup_status, mem.es_memtype as es_memtype, es_title, es_keywords, bo.tempdate, bo.es_postedon, bo.es_reverse_featured, bo.es_viewed, mem.es_reverse_memtype \
FROM ephpb2b_offers_buy bo INNER JOIN ephpb2b_members mem ON bo.es_uid=mem.es_id \
Where bo.es_featured IN (0,1)
sql_attr_uint = id
sql_attr_uint = es_signup_status
sql_attr_uint = es_memtype
sql_attr_uint = es_reverse_memtype
sql_attr_uint = es_country
sql_attr_uint = es_uid
sql_attr_timestamp = es_postedon
sql_attr_timestamp = tempdate
**sql_attr_uint = es_reverse_featured**
sql_attr_uint = es_viewed
sql_attr_uint = es_featured
它给了我错误:
index tradeban_b2bdb_bo_relevent: INTERNAL ERROR: incoming-schema mismatch
(in=uint es_reverse_featured:32@288, my=uint es_reverse_featured:32@128)
我尝试使用Google搜索并提出了this SO question。但它是关于Ruby和思考 - 狮身人面像,我正在使用PHP。这个错误意味着什么,我该如何解决?
答案 0 :(得分:1)
根据我的理解,从少数回答,其他一些问题和the sourcecode:你有
es_reverse_featured
的索引。由于您尝试在查询中选择同名列,因此会发生冲突。 请尝试使用以下查询,将您的列重命名为es_reverse_featured_2
:
SELECT bo.es_id, bo.es_id as id, mem.es_country, es_uid,
bo.es_featured AS es_featured,
bo.es_reverse_featured AS es_reverse_featured_2,
mem.es_signup_status AS es_signup_status, mem.es_memtype as es_memtype, es_title,
es_keywords, bo.tempdate, bo.es_postedon, bo.es_reverse_featured, bo.es_viewed,
mem.es_reverse_memtype
FROM ephpb2b_offers_buy bo
INNER JOIN ephpb2b_members mem ON bo.es_uid=mem.es_id
Where bo.es_featured IN (0,1)
答案 1 :(得分:1)
感谢您的帮助。
我发现我在select语句中选择es_reverse_featured两次:
Select es_reverse_featured, other_field1, other_field2, es_reverse_featured from table1
。
我删除了其他条目,问题已解决。