Ho riscontrato un problema molto insolito con MySQL, che implicava il backslash. Fondamentalmente quando faccio una partita jolly con LIKE per \ n che è nella base di dati come testo piuttosto che un ritorno a capo effettivo, verrà restituito solo un match se ho solo un diritto jolly mano:Comportamento anomalo quando si esegue LIKE con i caratteri jolly alla ricerca di barra rovesciata in MySQL
SELECT *
FROM `tmptest`
WHERE `a` LIKE '\\\\n%'
Ora, se interrogo come questo, non tornerà nulla:
SELECT *
FROM `tmptest`
WHERE `a` LIKE '%\\\\n%'
come si può vedere dai dati che ho in tabella entrambe le query devono essere corrispondendo. Non sono sicuro se si tratta di qualcosa che mi manca, o sto scorrendo in modo errato la nuova riga ma non ha senso che la prima query funzioni e la seconda no.
Struttura della tabella:
CREATE TABLE IF NOT EXISTS `tmptest` (
`a` varchar(22) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
dati Esempio:
INSERT INTO `tmptest` (`a`) VALUES
('\\n'),
('\\n\\ndfsdfsdfs\\n');
Grazie per aver tempo di leggere questo.
Strano, funziona bene per me. Quale versione di mysql stai usando? – Jim
+1, problema interessante. Ti lodo per aver incluso le informazioni corrette su come creare la struttura e inserire dati di esempio. Ottimo primo post. –
L'ho replicato qui. Versione: mysqld Ver 5.1.49-log per suse-linux-gnu su i686 (SUSE MySQL RPM) –