#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法

Posted

技术标签:

【中文标题】#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法【英文标题】:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 【发布时间】:2014-08-17 18:44:24 【问题描述】:

您好,我是 sql 新手,仅真正将其用于 JDBC,我正在尝试创建一个数据库调用 SuperMarket 并使用此 sql 脚本创建表

CREATE TABLE item (
ID INT NOT NULL CONSTRAINT pk_item PRIMARY KEY,
name VARCHAR(30),
price DOUBLE PRECISION,
quantity INT
);

CREATE TABLE customer (
ID INT NOT NULL CONSTRAINT pk_customer PRIMARY KEY,
name VARCHAR(30)
);

CREATE TABLE employee (
ID INT NOT NULL CONSTRAINT pk_employee PRIMARY KEY,
name VARCHAR(30),
password VARCHAR(15)
);

CREATE TABLE trans (
ID INT NOT NULL CONSTRAINT pk_transaction PRIMARY KEY,
employee INT,
customer INT,
is_open INT
);

CREATE TABLE acquisition (
ID INT NOT NULL CONSTRAINT pk_acquisition PRIMARY KEY,
trans INT,
item INT,
quantity INT
);

当我尝试使用 xampp 在 phpMyAdmin 中导入它时,我收到以下错误:

Number 1064 - You have an error in your SQL syntax; check the manual that corresponds to your mysql server version for the right syntax to use near 'CONSTRAINT pk_item PRIMARY KEY,
name VARCHAR(30),
price DOUBLE PRECISION,
qua' at line 2 

我仍然找不到任何语法错误,谁能告诉我我做错了什么?

【问题讨论】:

【参考方案1】:

试试这个:

CREATE TABLE item (
   ID INT NOT NULL,
   name VARCHAR(30),
   price DOUBLE PRECISION,
   quantity INT,

   CONSTRAINT pk_item PRIMARY KEY (ID)
);

您的 CONSTRAINT 关键字放错了位置。其他表格也是如此。

如果你只是想让 ID 成为主键,你可以这样做:

CREATE TABLE item (
   ID INT NOT NULL PRIMARY KEY,
   name VARCHAR(30),
   price DOUBLE PRECISION,
   quantity INT
);

【讨论】:

以上是关于#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法的主要内容,如果未能解决你的问题,请参考以下文章

#1064 - 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册以获取正确的语法

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册

1064. 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法

MySQL #1064 - 您的 SQL 语法 2020 有错误 [重复]

我的 SQL 错误:错误 1064:您的 SQL 语法有错误;