2014-09-29 130 views
0

在MySQL我有表這個樣子的PHP得到序列化的數據行,其中條件滿足

CREATE TABLE IF NOT EXISTS `fl_details` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `first_name` varchar(50) NOT NULL, 
    `last_name` varchar(50) NOT NULL, 
    `email` varchar(100) NOT NULL, 
    `phone` varchar(15) NOT NULL, 
    `country` varchar(100) NOT NULL, 
    `language_pair` text NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ; 

和值表裏面是這樣的。我突出顯示了兩個條目。但目前有100多行。

INSERT INTO `fl_details` (`id`, `first_name`, `last_name`, `email`, `phone`, `country`, `language_pair`) VALUES 
(1, 'asdf', 'erty', '[email protected]', '12345678909', 'Sri Lanka', 'a:2:{s:6:"source";a:2:{i:0;a:1:{i:0;s:6:"Arabic";}i:1;a:1:{i:0;s:10:"Belarusian";}}s:6:"target";a:2:{i:0;a:2:{i:0;s:8:"Assamese";i:1;s:11:"Azerbaijani";}i:1;a:2:{i:0;s:10:"Belarusian";i:1;s:7:"Bengali";}}}'), 
(2, 'asth', 'erui', '[email protected]', '12312356789', 'India', 'a:2:{s:6:"source";a:1:{i:0;a:1:{i:0;s:7:"English";}}s:6:"target";a:1:{i:0;s:5:"English";}}'); 

在這裏你可以看到我輸入的值language_pair是在PHP serialize格式。因此,源語言和目標語言都存儲在該列中。 現在我想獲取目標語言爲Bengali的總行。那麼有人可以告訴我該怎麼做?任何幫助和建議將會非常令人難以置信。由於

回答

0

,你可以嘗試這樣的事情

SELECT * FROM fl_details WHERE language_pair REGEXP '.*"target";s:[0-9]+:"English".*' 
+0

都能跟得上它不是在SQL查詢工作 – NewUser 2014-09-29 12:19:51

相關問題