,我呼應查詢,以便我可以看到正在經歷什麼,它出來,因爲這:Mysql的搜索與PHP
select * from `parts` where 'category' like 'at'
不過是被退回無關。我知道肯定有一個名爲「類別」的欄目和一個名爲「at」的欄目。如果我在%做%,它只是返回每個結果!
基本上我想所有的記錄,其中的是從你的問題的類別欄
,我呼應查詢,以便我可以看到正在經歷什麼,它出來,因爲這:Mysql的搜索與PHP
select * from `parts` where 'category' like 'at'
不過是被退回無關。我知道肯定有一個名爲「類別」的欄目和一個名爲「at」的欄目。如果我在%做%,它只是返回每個結果!
基本上我想所有的記錄,其中的是從你的問題的類別欄
SELECT * FROM
parts
哪裏像 '類'「在'
這沒有任何意義 - 類別中的引號聲明它是一個字面值而不是屬性名稱。
我知道肯定有一個名爲「類別」的列和一個名爲「at」的字段。
這讓人困惑。術語「列」通常代替「屬性」(後者是描述關係數據庫內數據結構的正確方法)。至於'領域' - 你的意思是一個屬性的實例嗎?
我想你的意思是你的代碼要做到這一點:
select * from parts where category like '%at%'
(在backticks
都是圍繞數據庫實體可選 - 即非文字值 - 除非它們包括空格)。請注意,使用TE就像沒有通配符操作是messey所以,如果你正在尋找「在」的值匹配,而不是「貓」或「附加」 ....
select * from parts where category='at'
值目前尚不清楚,這應該是文字,哪些應該是字段名。使用左撇號字段名稱。所以,如果你希望所有的記錄,其中類別字段包含文字「在」,這樣做:
更改您的報價:
select * from `parts` where `category` like '%at%'
不知道什麼你的意思叫場「在」,但如果行值 試試這個
select * from `parts` where category='at';
你真的不能使用像這樣比較兩個領域。 Like的第二個參數是一個模式,並被解釋爲正則表達式。你可以試試這個:
select * from parts where category like concat('%', at, '%')
它會從at字段取值,然後加上%符號然後比較字段。
該字段是什麼類型?桌子的排列順序是什麼? – 2010-12-08 13:44:31
請告訴我們更多關於cateogry字段及其包含的值。例如它是固定在兩個字符還是允許更長的字符串?是否區分大小寫?請向我們展示一些在執行「%at%」時選擇的其他值;是否真的是所有的價值,或者它可能是你有很多類別包含字母'at'的地方。你有沒有試過「at%」? – Spudley 2010-12-08 13:49:23