near(prod_id) 语句的意外开始

unexpected beginning of statement near(prod_id)

CREATE TABLE product
(
  product_id int primary key,
  product_name varchar(50) NOT null,
  category varchar(50)
  );
  CREATE TABLE orders
  (
    ORDER_id int primary key,
    prod_id int NOT null,
    quantity INT
    )
    CONSTRAINT fk_product_id
    FOREIGN KEY (prod_id)
    REFERENCES product (prod_id)
    );

约束应该是 table 定义的一部分:

CREATE TABLE orders (
    ORDER_id int primary key,
    product_id int NOT null,
    quantity INT,
    CONSTRAINT fk_product_id
        FOREIGN KEY (product_id) REFERENCES product(product_id)
);

请注意,我将该列命名为 product_id 并将引用也固定为 product。我喜欢尽可能使用相同名称的外键和主键。

您也可以在 table 定义之后使用 ALTER TABLE 来定义它。