2009-06-02 50 views
0

我有一個名爲txn的表,其中名爲pid的列是csv。 我使用的查詢以下列方式:mysql選擇涉及csv的行

SELECT * FROM txn where pid like '%,11%'; 

即如果PID =,1,2,7,11,4,那麼這個特定的行應選擇.. 但我的問題是..因爲我使用

如果PID =,1111112或這樣的事情,那麼即使它沒有11,此行會得到selected..so此查詢不解決我的問題.. 任何人都可以幫助我這個??

回答

0
SELECT * FROM txn where pid like '%,11,%' or pid like '%,11'; 
0

你總是串具有領先的逗號,以便添加尾部的一個過(例如pid=',1,111,112,'),然後'%,11,%'將永遠是不夠的。你甚至可以做到這一點對飛:

concat(pid,',') like '%,11,%' 
0

SELECT * FROM TXN其中pid IN(1,2,7,11,4)

希望幫助!