Кодировка MySQL с учетом регистра

#mysql

#mysql

Вопрос:

У меня такой вопрос: есть ли кодировка с учетом регистра, которую я могу вставить по умолчанию для таблиц MySQL? Потому что я хотел бы, чтобы атрибут username в таблице user учитывал регистр. Я пробовал использовать некоторую кодировку с учетом регистра (например, latin1_general_cs), но база данных, похоже, не находит эту кодировку, поэтому теперь для нее установлено значение utf8mb4 (но если я изменю кодировку вручную после вставки таблицы, я могу выбирать между многими кодировками, некоторые из которых чувствительны к регистру). Но я хотел бы установить кодировку с учетом регистра по умолчанию, иначе у меня возникли бы некоторые проблемы при создании внешних ключей в имени пользователя атрибута (например, в корзине таблиц).

     DROP TABLE IF EXISTS `users`;
    CREATE TABLE `users`(
      `username` varchar(20) NOT NULL DEFAULT 'user',
      `password` varchar(32) NOT NULL DEFAULT '0000',
      `email` varchar(30) NOT NULL DEFAULT 'email',
      `residenza` varchar(50) DEFAULT 'sconosciuto',
      PRIMARY KEY(`username`)
    )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8_bin; 

    DROP TABLE IF EXISTS `cart`;
    CREATE TABLE `cart`(
      `username` varchar(20) NOT NULL DEFAULT 'user',
      `titolo` varchar(50) NOT NULL DEFAULT 'sconosciuto',
      `numero` int NOT NULL DEFAULT 0,
      PRIMARY KEY(`username`, `titolo`),
      FOREIGN KEY(`username`) REFERENCES `users`(`username`),
      FOREIGN KEY(`titolo`) REFERENCES `cd`(`titolo`)
    )ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  

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

1. Попробуйте добавить COLLATE utf8_bin в определение таблицы. dev.mysql.com/doc/refman/5.7/en/charset-table.html

2.но база данных, похоже, не находит эту кодировку select * from information_schema.collations;

3. @Dmitry Я обновил свой вопрос с вашим предложением, но база данных показывает мне эту ошибку: ПАРАМЕТР СОРТИРОВКИ ‘utf8_bin’ недопустим для НАБОРА СИМВОЛОВ ‘utf8mb4’

4. база данных показывает мне, например, latin1_general_cs но если я вставлю это по умолчанию, я получу эту ошибку: Unknown character set: 'latin1_geenral_cs' я вижу опечатку. И всегда проверяйте, что параметры сортировки соответствуют кодировке.

5. Хорошо, я не заметил, что вы используете тип mb4. Затем попробуйте COLLATE utf8mb4_bin