Имена таблиц с использованием средней точки в MYSQL? - PullRequest
0 голосов
/ 07 июня 2018

Может ли это вызвать проблемы с именем таблицы, используя средние точки, например:

tbl_prod·prov;

1 Ответ

0 голосов
/ 07 июня 2018

Правила поясняются на Имена объектов схемы :

Идентификаторы конвертируются в Unicode для внутреннего использования.Они могут содержать следующие символы:

  • Разрешенные символы в идентификаторах без кавычек:

    • ASCII: [0-9, az, AZ $ _] (основные латинские буквы, цифры 0-9, доллар, подчеркивание)

    • расширенный: U + 0080 .. U + FFFF

  • Допустимые символы в указанных кавычках включают полную базовую многоязычную плоскость Unicode (BMP), за исключением U + 0000:

    • ASCII: U + 0001 .. U + 007F

    • Расширенные: U + 0080 .. U + FFFF

  • ASCII NUL (U + 0000) и дополнительные символы (U + 10000)и выше) не допускаются в идентификаторах в кавычках или без кавычек.

  • Идентификаторы могут начинаться с цифры, но если они не указаны в кавычках, они могут состоять не только из цифр.
  • Имена баз данных, таблиц и столбцовне может заканчиваться пробелами.

Символ · равен U + 00B7 MIDDLE DOT , поэтому он соответствует определению для Extended в кавычкахиденtifiers.

Сказал, что я могу думать о двух потенциальных проблемах:

  • Имена объектов иногда необходимо сопоставлять с объектами файловой системы.Мы можем предположить, что MySQL сделал все правильно на всех поддерживаемых платформах, но это заставляет меня чувствовать себя неловко.

  • Если вам случится запустить SQL-запрос в клиенте / соединении, которое неправильно настроено,или вставив запрос из буфера обмена, вы рискуете использовать неправильный символ.

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