无法创建 MYSQL 个数据库表

Can't Create MYSQL DataBase Tables

我正在尝试为我的数据库创建 MYSQL 个表,但我一直收到错误

这是我的代码

CREATE DATABASE Hospitals;

CREATE TABLE hospital (
    hospitalId INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    postcode VARCHAR(10),
    phoneNumber VARCHAR(20),
    emailAddress VARCHAR(255),
    PRIMARY KEY (hospitalId),
) ENGINE = INNODB;

CREATE TABLE wards (
    wardID INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    specialisation VARCHAR(100),
    PRIMARY KEY (wardID),
) ENGINE = INNODB;

CREATE TABLE staff (
    staffId INT NOT NULL AUTO_INCREMENT,
    foreName VARCHAR(50),
    surName VARCHAR(50),
    position VARCHAR(50),
    salary DOUBLE,
    PRIMARY KEY (staffId)) ENGINE = INNODB;

CREATE TABLE patients (
    niNumber VARCHAR(50),
    name VARCHAR(100),
    dob DATE,
    sex VARCHAR(10),
    nokName VARCHAR(100),
    nokPhone VARCHAR(50),
    PRIMARY KEY niNumber) ENGINE = INNODB;

CREATE TABLE medications (
    medicationId INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    contraIndications VARCHAR(255),
    PRIMARY KEY (medicationId)) ENGINE = INNODB;

INSERT INTO hospital (hospitalId, name, postcode, phoneNumber, emailAddress)
        VALUES(1, 'Bangor', 'LL72GW', '01276541789', 'Bangor.Hospital@gmail.com'),
            VALUES(2, 'london', 'SW1A 0AA', '01673531789', 'London.Hospital@gmail.com');
INSERT INTO wards (wardId, name, specialisation)
        VALUES(1, 'Ward1', 'Brain Surgery'),
            VALUES(2, 'Ward2', 'Heart Surgery');
INSERT INTO staff (staffId, foreName, surName, position, salary)
        VALUES(1, 'Malcolm', 'Gross', 'Manager', '50000.0'),
            VALUES(1, 'Lewis', 'Castle', 'Surgeon', '30000.0');
INSERT INTO patients (niNumber, name, dob, sex, nokName, nokPhone)
        VALUES('001AFCY6', 'Sam', '20-02-2002', 'male', 'David', '09876543268'),
            VALUES('0SSHD2J3', 'Jim', '19-09-1977', 'male', 'Terry', '06789347382');
INSERT INTO medications (medicationId, name, contraIndications)
        VALUES(1, 'Heart Medicine', 'Dont Use if heart is ok'),
            VALUES(2, 'Antibiotics', 'Dont use if patient is feeling well');

但我一直收到的错误是 Query 1 ERROR: 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 'VALUES(2, 'Antibiotics', 'Dont use if patient is feeling well')' at line 3

我不知道为什么会出现这样的错误

我做错了什么,请问我该如何解决

非常感谢

您不需要在 INSERT 语句中使用 2 个 VALUES 关键字。所以你更新的 INSERT 语句应该看起来很像 -

INSERT INTO hospital (hospitalId, name, postcode, phoneNumber, emailAddress)
        VALUES(1, 'Bangor', 'LL72GW', '01276541789', 'Bangor.Hospital@gmail.com'),
              (2, 'london', 'SW1A 0AA', '01673531789', 'London.Hospital@gmail.com');

而且您还必须去掉前 2 个表中的最后一个逗号 -

CREATE TABLE hospital (
    hospitalId INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    postcode VARCHAR(10),
    phoneNumber VARCHAR(20),
    emailAddress VARCHAR(255),
    PRIMARY KEY (hospitalId) --,     This should be removed.
) ENGINE = INNODB;

CREATE TABLE wards (
    wardID INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    specialisation VARCHAR(100),
    PRIMARY KEY (wardID) --,     This should be removed.
) ENGINE = INNODB;