distinict странно считает в mysql (mariadb10.0)

215
29 марта 2017, 16:01

Есть база (20К строк примерно), в базе клиенты, в том числе столбец email. При заполнении проверялась уникальность, поле описано с индексом, но без уникальности. Таблица описана и поле описаны как

`email` varchar(255) DEFAULT NULL,
DEFAULT CHARSET=utf8mb4

Значения двух сторок для одного столбца логически совпадают, то есть использую перл, но для bash более читаемо.

a=`echo 'select email from cl_data where columnd=4964;' | mysql mailwiz ` ; b=`echo 'select email from cl_data where columnd=7914;' | mysql mailwiz`; if  [ "$a" == "$b" ] ; then echo EQ; else echo  NE ; fi  

выведет EQ.

Также видим MySQL что все поля уникальны:

select count(distinct(lower(email)))-(count(email)) from cl_data; --  Дает 0. 

Но сверка двух полей на уникальность дает различия:

select count(distinct(lower(email))) from cl_data where email in (select email from cl_data  where columnd =7914); -- выводит 2 ( ожидаемо 1). 

В логах ошибок как SQL, так и сервера молчание... Куда копать и что смотреть?

READ ALSO
Как извлечь данные по ID из таблицы?

Как извлечь данные по ID из таблицы?

Используется Access 2016 MySql

289
could not execute statement; SQL [n/a]; constraint [NICK.FK_APP_USER]

could not execute statement; SQL [n/a]; constraint [NICK.FK_APP_USER]

Всем приветДелаю проект по туториалу и при попытке регистрации пользователя вылетает ошибка: Request processing failed; nested exception is org

1282
Percolation via Monte Carlo simulation [требует правки]

Percolation via Monte Carlo simulation [требует правки]

Write a program to estimate the value of the percolation threshold via Monte Carlo simulation

340
Как работают lock объекты?

Как работают lock объекты?

Я пытаюсь разобраться с логикой лок-объектов на нескольких примерах, речь всегда пойдет об одном экземпляре MyClass:

377