2011-04-03 105 views
0

可能重複:
MYSQL query for searching through ALL the fields?
MySQL - Search in all fields from every table from a database有沒有辦法在單個mysql查詢中搜索所有字段?

我有一臺28場和一個選項我想給用戶是搜索在其所有領域的每一個條目。 因此,而不是寫是這樣的:

SELECT * FROM table WHERE field1 LIKE testfield OR field2 LIKE testfield OR field3 LIKE testfield 
OR field4 LIKE testfield OR ... etc 

我想編寫這樣的事:

SELECT * FROM table WHERE * LIKE testfield; 

這不工作,所以我不知道是否有另一種語法或功能犯規存在嗎?

+1

同樣的問題http://stackoverflow.com/questions/3797906/mysql-query-for-searching-through-all-the-fields鏈接到另一個類似的問題... – manji 2011-04-03 20:41:01

+1

http://stackoverflow.com/問題/ 639531/mysql-search-in-all-fields-from-every-table-from-a-database – Spyros 2011-04-03 20:41:42

+0

@manji - 在這種情況下投票結束爲重複 – ChrisF 2011-04-03 20:43:19

回答

0

在SQL中沒有對這種類型查詢的可移植支持。最好的辦法是創建另一個字符串/ varchar列,並將其他列轉換爲一個字符串,然後在其上進行搜索。

SQL Server會支持contains keyword

SELECT Name, Color FROM Production.Product 
WHERE CONTAINS((Name, Color), 'Red'); 

但是,如果你想成爲便攜,你有額外的列更好。

+0

這會強制進行全表掃描。 ] – Layke 2011-04-03 20:43:30

相關問題