Как сделать MySql данных таблицы чувствительными к регистру? - PullRequest
1 голос
/ 19 апреля 2020

Я хотел ввести данные в поле первичного ключа MySql таблицы с учетом чувствительности к регистру. Но по умолчанию он не учитывает чувствительность к регистру для данных таблицы.

Вот мой запрос.

mysql> select id from product where id = 'a1';
+----+
| id |
+----+
| A1 |
+----+
1 row in set (0.00 sec)

mysql> insert into product values('a1', 'SomeName', 'SomeName', 200, 10, 10);
ERROR 1062 (23000): Duplicate entry 'a1' for key 'product.PRIMARY'

enter image description here

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

1 Ответ

0 голосов
/ 20 апреля 2020
ALTER TABLE product
    MODIFY COLUMN id VARCHAR(...) COLLATION ..._bin NOT NOT NULL;

Где ... - текущий размер столбца и набор символов.

Единственные, что я могу учитывать с учетом регистра:

  • base-64
  • Unix имена файлов

Но это не похоже на ПК. Какой у вас вариант использования? В большинстве случаев лучше не учитывать регистр.

(Комментарий ссылается на SQL предложение сервера с использованием ALTER DATABASE; это не будет работать для MySQL, так как это только меняет значение по умолчанию для впоследствии созданных таблиц.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...