использование пробелов в именах столбцов в SQL для создания таблицы - PullRequest
0 голосов
/ 07 марта 2019

Я пытаюсь создать таблицу с помощью sqlyog. Я хочу использовать пробелы в именах столбцов, но у меня все еще есть ошибки, например, номер идентификатора. Я просто могу сделать это, как этот номер идентификатора."id number" я пробовал, но у меня все еще есть ошибки

это код

   CREATE TABLE project(
ProjectID VARCHAR(10),
Project NAME VARCHAR(50),
Group_Name VARCHAR(20),
BeginDate VARCHAR(10),
EndDate VARCHAR(10)
);

и это ошибки, которые я получил их

   1 queries executed, 0 success, 1 errors, 0 warnings

Query: CREATE table project( ProjectID varchar(10), Project Name varchar(50), Group_Name varchar(20), BeginDate varchar(10), EndDate va...

Error Code: 1064
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Name varchar(50),
Group_Name varchar(20),
BeginDate varchar(10),
EndDate varc' at line 3

iнадеюсь, кто-нибудь поможет мне

Ответы [ 3 ]

0 голосов
/ 07 марта 2019

попробуйте как ниже

CREATE TABLE project(
ProjectID VARCHAR(10),
`Project NAME` VARCHAR(50),
Group_Name VARCHAR(20),
BeginDate VARCHAR(10),
EndDate VARCHAR(10)
);
0 голосов
/ 11 марта 2019

Стандарт SQL определяет символ двойной кавычки " для разделения идентификаторов. Говоря о MariaDB и MySQL, для этого необходимо, чтобы sql_mode был установлен на ANSI:

mysql> set sql_mode=ANSI;
Query OK, 0 rows affected (0.00 sec)

mysql> create table project("project name" varchar(50));
Query OK, 0 rows affected (0.02 sec)

Другой вариант (как упоминалось в предыдущем ответе) - использовать обратные галочки. Однако это решение не будет переносимым.

0 голосов
/ 07 марта 2019

Вы можете создавать таблицы и столбцы с пробелами в имени, используя обратные символы (`)

Яйцо:

CREATE TABLE `project project` 
(
`ProjectID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`Project NAME` VARCHAR(255) NOT NULL
    .
    .
    .
);
...