Подтвердить что ты не робот

Может ли поле таблицы содержать дефис?

У меня есть таблица в таблице MySQL с именем поля "продукт" и вы хотите переименовать ее в "ds-product".

Система типа CMS, которую я использую, использует идентификатор полей формы как имя поля таблицы для вставки.

Для большинства это работает отлично, но для определенного поля он добавляет "ds-" к любому идентификатору, который я ему даю, поэтому я должен сделать имя поля таблицы совпадающим.

Однако при попытке выполнить запрос я получаю сообщение об ошибке

Неизвестный столбец "sales.ds" в "списке полей"

Есть ли способ иметь поле, называемое ds-продуктом?

4b9b3361

Ответ 1

Да, вы можете использовать знаки препинания, пробелы, международные символы и зарезервированные слова SQL, если вы используете идентификаторы с разделителями:

SELECT * FROM `my-table`;

В MySQL используйте обратные тики. В стандартном SQL используйте двойные кавычки.

Или, если вы используете MySQL, вы можете установить ANSI_QUOTES SQL-режим:

SET SQL_MODE = ANSI_QUOTES;
SELECT * FROM "my-table";

Ответ 2

Попробуйте положить скобки в последнюю часть своего вызова на стол. в вашем случае:

SELECT * FROM [TABLE-NAME];

просто поставьте скобки только в имени таблицы. не по всей базе данных находится

SELECT * FROM some_database.anotherdatabase.[your-table];

P.S. также работает над столбцами.

Я использую Microsoft SQL Server Management.