Начало работы с порядком сортировки MySQL

#mysql #collation

#mysql #сортировка

Вопрос:

Кажется, что неоправданно сложно начать работу с MySQL в отношении порядка сортировки. Я весь день читал вопросы и ответы StackOverflow по этому вопросу и многому научился, но все еще не могу заставить работать очень простой пример.

Что я хочу сделать, так это:

  1. Создайте базу данных, которая поддерживает символы Unicode (например utf8mb4_unicode_ci ).
  2. Добавьте таблицу со VARCHAR столбцом в ней.
  3. Напишите хранимую процедуру, которая принимает VARCHAR параметр и возвращает соответствующие строки из таблицы.
  4. Вызовите эту хранимую процедуру из (в моем случае) HeidiSQL без возврата SQL Error (1267): Illegal mix of collations

Это та вещь, которая, я думаю, должна быть чрезвычайно простой и чрезвычайно проста в SQL Server, но на самом деле чрезвычайно сложна в MySQL.

Если кто-то, кто понимает этот материал, мог бы написать несколько простых шагов для начала работы, это было бы очень полезно.

Комментарии:

1. Вам просто нужно убедиться, что вы либо последовательно используете одну и ту же сортировку для своего поля / создания хранимой процедуры / подключения к базе данных при выполнении сохраненной процедуры, либо вам необходимо явно привязать текст к общей сортировке. Пожалуйста, сначала выполните некоторую отладку, чтобы определить, где вы получаете сообщение об ошибке: при вызове сохраненной процедуры или внутри сохраненной процедуры. Пожалуйста, также проверьте набор символов и сопоставление вашего поля и то же самое для вашего сохраненного процесса.

2. Проверьте сопоставление соединения. Проверьте сопоставление при создании Хранимой процедуры.

3. Я думаю, что в основном меня сбила с толку ошибка в MariaDB, из-за которой он кэширует параметры сортировки для базы данных, и даже если вы удаляете и воссоздаете базу данных, хранимые процедуры создаются с использованием исходной сортировки первой созданной базы данных. Теперь, когда я с этим разобрался, ситуация не так плоха, как можно предположить по моему первоначальному опыту.

4. В StackOverflow очень много вопросов и ответов о Maria DB и сопоставлении, так что это явно область, которая создает много трудностей, поэтому пошаговое руководство по началу работы все равно будет полезно.