Mysql Создают Базу данных со специальными символами на имя

bool (*FuncPtr)()

FuncPtr = A;
FuncPtr();

Если вы хотите вызвать одну из этих функций условно, вам следует рассмотреть возможность использования массива указателей на функции . В этом случае у вас будет 3 элемента, указывающих на A, B и C, и вы вызовете один из них в зависимости от индекса массива, например funcArray0 для A.

15
задан n3rd 29 May 2009 в 12:36
поделиться

2 ответа

Я настоятельно рекомендую не создавать базы данных с такими именами. Но если вам это абсолютно необходимо, вот ограничения :

  • Ни один идентификатор не может содержать ASCII NUL (0x00) или байт со значением 255.
  • Имена баз данных, таблиц и столбцов не должны заканчиваться пробелами.
  • Имена баз данных и таблиц не могут содержать символы «/», «\», «.» или символы, недопустимые в именах файлов.

Чтобы создать базу данных, вы можете сделать следующее:

mysql> create database `really@strange*database$name`;
30
ответ дан 1 December 2019 в 01:38
поделиться

Просто: не надо.

Вы можете избежать экзотических имен таблиц, используя обратную кавычку в mysql, но я не знаю, можете ли вы использовать ничего внутри обратных кавычек. Это доставит немало хлопот в течение оставшейся части жизненного цикла вашего программного обеспечения.

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

-- Example:
CREATE TABLE _DatabaseMetadata (
    databaseName VARCHAR(255),
    exoticName VARCHAR(255)
) DEFAULT CHARSET=utf8;
3
ответ дан 1 December 2019 в 01:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: