【问题标题】:#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#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在附近使用的正确语法
【发布时间】: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 

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

【问题讨论】:

    标签: mysql sql jdbc xampp


    【解决方案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
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-06
      • 1970-01-01
      • 2021-08-06
      • 2015-10-23
      • 2022-01-24
      • 2011-08-07
      相关资源
      最近更新 更多