Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Durchsuchen Sie alle Spalten einer Tabelle mit einer einzigen Where-Bedingung mit einem einzigen Schlüsselwort in MySQL

SELECT * FROM `some_table`
WHERE
CONCAT_WS('|',`column1`,`column2`,`column3`,`column4`,`column64`) # single condition, many columns
LIKE '%VT%'

Voila.

Das '|' Das Trennzeichen soll übrigens verhindern, dass Sie zufällige Übereinstimmungen finden, bei denen z. B. Spalte 1 mit „V“ endet und Spalte 2 mit „T“ beginnt, was bei einer Suche nach „VT“ zu einem falschen Positiv führen würde.

Ich bin mir nicht sicher, ob die obige Methode schneller ist als das OR -Methode (ich würde vermuten, dass sie die gleiche Geschwindigkeit haben) , aber es erfordert definitiv weniger Tipparbeit, wenn Sie die Abfrage von Hand schreiben.