Selecione pela coluna varchar com a parte IN () na condição e o valor int retorna todas as linhas
Alguém pode me explicar por que com essa consulta:
SELECT * FROM `tags` WHERE (tag IN ('willa-lentza', 2016))
devolve-me todas as linhas detags
mesa, mas quando eu coloco2016
entre aspas funciona bem?
tag
coluna évarchar
tipo.
AMBIENTE DE AMOSTRA
CREATE TABLE `tags` (
`id` int(10) unsigned NOT NULL auto_increment,
`tag` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8
INSERT INTO `tags` (`id`, `tag`) VALUES
(1, '2016'),
(2, 'plum'),
(3, 'banana'),
(4, 'apple'),
(5, 'willa-lentza');
Também recebo o mesmo erro que Roland Bouman:
Truncated incorrect DOUBLE value: 'willa-lentza'