在MySQL Workbench中创建表时出现错误1064



我正试图在我的模式(mydb(中创建一个名为employee的表,但每当我尝试运行脚本来创建该表时,我都会收到错误#1064。

我是SQL的新手,所以我一直在看关于如何创建表的示例,然后放弃这些示例创建自己的表,直到我遇到这个错误。有人能解释一下为什么我收到这个错误信息吗?

MySQL Workbench Community 8.0版本8.0.26:

CREATE TABLE 'mydb'.'employee' 
(
'emp#' INT PRIMARY KEY,
'firstname' VARCHAR(20) NOT NULL,
'surname' VARCHAR(20) NOT NULL,
'salary' INT default 0,
'city' VARCHAR(20),
UNIQUE(firstname, surname)
);

错误:

错误代码:1064。您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,了解在"mydb"附近使用的正确语法employee'('emp#'INT主键,'firstname'VARCHAR(20(NOT NULL,'s'位于的第1行

您的问题是,因为您在CREATE TABLE语句中添加了'单引号,所以需要这样做:

CREATE TABLE mydb.employee 
(
emp INT PRIMARY KEY,
firstname VARCHAR(20) NOT NULL,
surname VARCHAR(20) NOT NULL,
salary INT default 0,
city VARCHAR(20),
UNIQUE(firstname, surname)
);

如果你需要Mysql中的引号,你需要使用这样的卷曲单引号:

CREATE TABLE `mydb`.`employee` 
(
`emp_id` INT PRIMARY KEY,
`firstname` VARCHAR(20) NOT NULL,
`surname` VARCHAR(20) NOT NULL,
`salary` INT default 0,
`city` VARCHAR(20),
UNIQUE(firstname, surname)
);

此外,使用_idno代替#,您可以查看以下关于MySQL命名规则的参考

最新更新