1

我正在尝试通过 sqlyog 创建表我想在列名中使用空格,但我仍然遇到错误,例如 id 号我可以这样做 id_number 我在这个网站上搜索我找到了两种方法 [id 号] 或“id 号“我试过了,但我仍然有错误

这是代码

   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

我希望有人帮助我

4

3 回答 3

1

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)

另一种选择(如上一个答案中所述)是使用反引号。但是,此解决方案将不可移植。

于 2019-03-10T21:28:42.533 回答
0

尝试如下

CREATE TABLE project(
ProjectID VARCHAR(10),
`Project NAME` VARCHAR(50),
Group_Name VARCHAR(20),
BeginDate VARCHAR(10),
EndDate VARCHAR(10)
);
于 2019-03-07T17:26:32.853 回答
0

您可以使用反引号 (`) 创建名称中带有空格的表和列

蛋:

CREATE TABLE `project project` 
(
`ProjectID` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, 
`Project NAME` VARCHAR(255) NOT NULL
    .
    .
    .
);
于 2019-03-07T17:26:19.693 回答