Выберите по столбцу varchar с частью IN () в условии, а значение int возвращает все строки

Может кто-нибудь объяснить мне, почему с этим запросом:

SELECT * FROM `tags` WHERE (tag IN ('willa-lentza', 2016))

это вернет мне все строки изtags стол, но когда я ставлю2016 в кавычки это работает хорошо?

tag столбецvarchar тип.

ОБРАЗЕЦ ОКРУЖАЮЩЕЙ СРЕДЫ

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');

Я также получаю ту же ошибку, что и Роланд Буман:

Truncated incorrect DOUBLE value: 'willa-lentza'

Ответы на вопрос(4)

Ваш ответ на вопрос