0

これはクエリです:

SELECT title from prod_table WHERE MATCH(title) AGAINST ('-Gears Of War' IN BOOLEAN MODE) limit 30;

テーブルには間違いなくデータが入力されており、ここにスキーマがあります

SQL query: explain prod_table;
Rows: 22
Field           Type        Null        Key     Default     Extra
PRprodinfo_id   int(11)     NO          PRI     NULL    auto_increment
PRid            varchar(64) NO  UNI     NULL    
main_category   varchar(64) YES         NULL    
title           varchar(128)NO  MUL     NULL    
agegroup        varchar(16) YES         NULL    
author          varchar(128)YES         NULL    
sex             varchar(8)  YES         NULL    
actors          varchar(256)YES         NULL    
platform        varchar(64) YES         NULL    
artist          varchar(128)YES         NULL    
genre           varchar(128)YES         NULL    
description     text        YES         NULL    
manuf           varchar(128)YES         NULL    
manufID         varchar(64) YES         NULL    
prodcat         varchar(128)YES         NULL    
prodcatID       int(11)     YES         NULL    
userrating      decimal(1,1)NO      NULL    
profrating      decimal(1,1)NO      NULL    
lowprice        decimal(10,2)   NO      NULL    
highprice       decimal(10,2)   NO      NULL    
imageURL        varchar(128)    NO      NULL    
dateadded       timestamp       NO      CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP

また試しました:

SELECT title from PRprodINFO WHERE MATCH(title) AGAINST ("-'Gears Of War'" IN BOOLEAN MODE) limit 30;

SELECT title from PRprodINFO WHERE MATCH(title) AGAINST ("'-Gears Of War'" IN BOOLEAN MODE) limit 30;

しかし、それらは自分自身をキャンセルするようなもので、結果の一部は次のとおりです。

'Gears and Gear Cutting Workshop Practice'
'Gears of War 2 Signature Series Guide Bradygames Signature Guides'
'Gears of War 2 Last Stand Edition Guide Bradygames Signature'
'Cream  Disraeli Gears  Classic Albums DVD RETAIL BUT NOT AVAILABLE TO RENT'
'Gears of War 2 Limited Edition'
'Gears Of War'
'Gears of War 2'
'Gears of War Triple Pack'
'Gears of War 2 Game of the Year Edition'
'Gears of War 3 Limited Edition'
'Gears of War 3'

これはまさに私が望んでいないものです

また、タイトル フィールドには FULLTEXT インデックスがあります。

ありがとう

ダレン

4

3 に答える 3

0

これを試して:

SELECT title from prod_table WHERE MATCH(title) AGAINST ( "-'Gears Of War'" IN BOOLEAN MODE) limit 30;

単語を一重引用符で囲みます。

于 2011-10-17T12:54:55.033 に答える
0

MATCH AGAINST 演算子を使用してこの問題を解決することはできません。解決策は、LIKEクエリを否定することです。例えば:

SELECT title FROM prod_table WHERE title NOT LIKE '%Gears Of War%' LIMIT 30;
于 2011-10-17T13:08:31.243 に答える