PHPmyAdmin抛出错误,无法成功导入sql;

时间:2012-03-12 19:34:25

标签: mysql sql phpmyadmin erd

所以我正在尝试为作业创建一个商务系统。我使用QSEE创建了ERD here is a screen shot of it。我尝试将每个单独的语句复制并粘贴到SQL功能中,但它会抛出有关不存在的字段的错误消息,导入整个文档不起作用:

CREATE TABLE _customer(
CustomerID  INTEGER NOT NULL,
FirstName   VARCHAR(20) NOT NULL,
LastName    VARCHAR(20) NOT NULL,
Building    VARCHAR(20) NOT NULL,
Address1    VARCHAR(30) NOT NULL,
Address2    VARCHAR(30),
City    VARCHAR(20) NOT NULL,
County  VARCHAR(20),
Postcode    VARCHAR(8) NOT NULL,
Phone   INTEGER,
Email   VARCHAR(30) NOT NULL,
Password    VARCHAR(20) NOT NULL,
BillingBuilding VARCHAR(20) NOT NULL,
BillingAddress1 VARCHAR(20) NOT NULL,
BillingAddress2 VARCHAR(20),
BillingCity VARCHAR(20) NOT NULL,
BillingCounty   VARCHAR(20),
BillingPostcode VARCHAR(8) NOT NULL,
ShippingBuilding    VARCHAR(20),
ShippingAddress1    VARCHAR(20),
ShippingAddress2    VARCHAR(20),
ShippingCity    VARCHAR(20),
ShippingCounty  VARCHAR(20),
ShippingPostcode    VARCHAR(8),
-- Specify the PRIMARY KEY constraint for table "_customer".
-- This indicates which attribute(s) uniquely identify each row of data.
CONSTRAINT  pk__customer PRIMARY KEY (CustomerID)
);

CREATE TABLE _product(
    ProductID   INTEGER NOT NULL,
    SKU INTEGER NOT NULL,
    Name    VARCHAR(20),
    Description VARCHAR(100),
    StockQuantity   INTEGER NOT NULL,
    UnitPrice   INTEGER NOT NULL,
    Size    VARCHAR(1) NOT NULL,
    Colour  VARCHAR(8) NOT NULL,
    Picture VARCHAR(15),
    LastUpdate  TIMESTAMP(8),
    fk1_SupplierID  INTEGER NOT NULL,
    -- Specify the PRIMARY KEY constraint for table "_product".
    -- This indicates which attribute(s) uniquely identify each row of data.
    CONSTRAINT  pk__product PRIMARY KEY (ProductID)
);

CREATE TABLE _customerorder(
    OrderID INTEGER NOT NULL,
    OrderDate   TIMESTAMP(8) NOT NULL,
    Amount  DECIMAL(8,2),
    fk1_PaymentID   INTEGER NOT NULL,
    fk2_CustomerID  INTEGER NOT NULL,
    -- Specify the PRIMARY KEY constraint for table "_customerorder".
    -- This indicates which attribute(s) uniquely identify each row of data.
    CONSTRAINT  pk__customerorder PRIMARY KEY (OrderID,fk1_CustomerID)
);

CREATE TABLE _payment(
    PaymentID   INTEGER NOT NULL,
    PaymentType VARCHAR(20) NOT NULL,
    -- Specify the PRIMARY KEY constraint for table "_payment".
    -- This indicates which attribute(s) uniquely identify each row of data.
    CONSTRAINT  pk__payment PRIMARY KEY (PaymentID)
);

CREATE TABLE _orderedproduct(
    OrderDetailID   INTEGER NOT NULL,
    Quantity    INTEGER,
    Total   INTEGER,
    Size    INTEGER,
    Colour  INTEGER,
    fk1_OrderID INTEGER NOT NULL,
    fk1_fk1_CustomerID  INTEGER NOT NULL,
    fk2_ProductID   INTEGER NOT NULL,
    -- Specify the PRIMARY KEY constraint for table "_orderedproduct".
    -- This indicates which attribute(s) uniquely identify each row of data.
    CONSTRAINT  pk__orderedproduct PRIMARY KEY (OrderDetailID)
);

CREATE TABLE _supplier(
    SupplierID  INTEGER NOT NULL,
    CompanyName VARCHAR(20) NOT NULL,
    SalesFirstName  VARCHAR(20) NOT NULL,
    SalesLastName   VARCHAR(20) NOT NULL,
    SalesTitle  VARCHAR(20),
    Address1    VARCHAR(20) NOT NULL,
    Address2    VARCHAR(20),
    City    VARCHAR(20),
    County  VARCHAR(20),
    Phone   INTEGER,
    Email   VARCHAR(30),
    -- Specify the PRIMARY KEY constraint for table "_supplier".
    -- This indicates which attribute(s) uniquely identify each row of data.
    CONSTRAINT  pk__supplier PRIMARY KEY (SupplierID)
);


ALTER TABLE _customerorder ADD CONSTRAINT fk1__customerorder_to__payment FOREIGN KEY(fk1_PaymentID) REFERENCES _payment(PaymentID) ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE _orderedproduct ADD CONSTRAINT fk1__orderedproduct_to__customerorder FOREIGN KEY(fk1_OrderID,fk1_fk1_CustomerID) REFERENCES _customerorder(OrderID,fk1_CustomerID) ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE _orderedproduct ADD CONSTRAINT fk2__orderedproduct_to__product FOREIGN KEY(fk2_ProductID) REFERENCES _product(ProductID) ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE _product ADD CONSTRAINT fk1__product_to__supplier FOREIGN KEY(fk1_SupplierID) REFERENCES _supplier(SupplierID) ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE _customerorder ADD CONSTRAINT fk2__customerorder_to__customer FOREIGN KEY(fk2_CustomerID) REFERENCES _customer(CustomerID) ON DELETE RESTRICT ON UPDATE RESTRICT

1 个答案:

答案 0 :(得分:1)

将所有TIMESTAMP(N)类型更改为TIMESTAMP。宽度选项(N)很久以前就被删除了。