我知道如何添加一個全文索引,做基本的布爾搜索...自動檢查全文索引,如果不存在,創建一個?
ALTER TABLE products ADD FULLTEXT KEY myIndex (model, description);
SELECT *
FROM products
WHERE MATCH(model, description) AGAINST('myKeyword' in boolean mode);
不過,我想知道是否有可能做這樣的事情......
我想我的SQL語句檢查「myIndex」存在,如果沒有它應該自動抓取現有的列名,並添加一個全文索引(注意在地方列名的*):
ALTER TABLE products ADD FULLTEXT KEY myIndex (*);
另外,搜索索引的時候,我可以再自動抓取列名,而不是h AVING手動輸入(再次注意到的地方列名的*)...
SELECT *
FROM products
WHERE MATCH(*) AGAINST('myKeyword' in boolean mode);
我不知道正確的語法,但這樣的事情可能嗎?我一直在谷歌搜索幾個小時,並無法找到答案。我知道我可以讓PHP生成我需要的SQL,但我想知道這是否可以嚴格使用SQL?
謝謝!
Bill Karwin的這個答案將是解決問題的方法。但是,如果我理解你的問題,你正試圖找到一種動態索引數據庫的方式,這真的不是一個好主意。 – Namphibian
在我構建的特定Web應用程序的情況下動態索引數據庫將會非常有用:)動態索引有什麼缺點? –
查看我的回答下面@jerseymilker – Namphibian