Espero que alguém possa me ajudar a esclarecer algumas dúvidas sobre esta questão.
Eu tenho uma tabela com este esquema:
CREATE TABLE IF NOT EXISTS `entities` (
`id` int(6) unsigned NOT NULL,
`external_vendor_id` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;
Então insiro um registro nesta tabela:
INSERT INTO `entities`
(`id`, `external_vendor_id`)
VALUES
('1', '64835_122334');
Quando seleciono um registro com a instrução a seguir, esse registro é selecionado, mesmo que o external_vendor_id
in da WHERE
cláusula não corresponda ao external_vendor_id
que foi inserido por meio da INSERT
instrução.
select id, external_vendor_id
from `entities`
where `external_vendor_id` = 64835;
Isso está acontecendo no MySQL 5.7.12.
Questões
- Alguém sabe se esse é um resultado esperado? (se sim, por que?)
- Ou isso é um bug nesta versão do MySQL?
Qualquer ajuda será muito apreciada. E uma modificação da consulta para evitar esse resultado será muito útil para entender o que está acontecendo.