我有如下表:MySQL的SELECT WHERE LIKE轉義的數據
--
-- Table structure for table `DESTINATIONS`
--
CREATE TABLE IF NOT EXISTS `DESTINATIONS` (
`DEST_ID` int(7) NOT NULL auto_increment,
`COUNT_ID` int(6) NOT NULL,
`REG_ID` int(6) NOT NULL,
`CITY_ID` int(6) NOT NULL,
`CREATE_DATE` datetime NOT NULL,
`DESTINATION` varchar(256) NOT NULL,
`APPROVED` tinyint(1) NOT NULL,
PRIMARY KEY (`DEST_ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=192 ;
--
-- Dumping data for table `DESTINATIONS`
--
INSERT INTO `DESTINATIONS` (`DEST_ID`, `COUNT_ID`, `REG_ID`, `CITY_ID`, `CREATE_DATE`, `DESTINATION`, `APPROVED`)
VALUES (166, 9, 818, 0, '2011-10-27 15:24:20', 'Freeman\\''s Bay', 0);
,我試圖運行下面的查詢:
SELECT *
FROM `DESTINATIONS`
WHERE `DESTINATION` LIKE '%Freeman\'s Bay%'
這是返回0的結果。然而,在引號之前剝離LIKE子句將會發現並返回一個匹配。
很明顯,我做錯了什麼,但我一直無法弄清楚究竟是什麼。我可以不執行一個SELECT LIKE這個嗎?我是否錯誤地避開了引號?任何輸入是讚賞!
也許我在這裏引起了一些混淆 - CREATE TABLE和INSERT在.SQL文件中,並且轉義爲將'Freeman \'Bay'插入到數據庫中。 – DaveL
感謝您的理解。但爲什麼你需要存儲轉義的數據? – GolezTrol
我試圖存儲一個字面引號,並沒有與SQL命令的結尾相混淆,因此它必須被轉義。 – DaveL