我正在從db kroenke書中做練習。任何人都可以明白爲什麼這個插入:MSSQL插入不工作
INSERT INTO PRODUCT_SALES VALUES(41197, 3, 'VK001', 1, 14.95, 14.95);
不會下表上工作:
CREATE TABLE PRODUCT_SALES(
TimeID Int NOT NULL,
CustomerID Int NOT NULL,
ProductNumber Char(35) NOT NULL,
Quantity Int NOT NULL,
UnitPrice Numeric(9,2) NOT NULL,
Total Numeric(9,2) NULL,
CONSTRAINT SALES_PK
PRIMARY KEY (TimeID, CustomerID, ProductNumber),
CONSTRAINT PS_TIMELINE_FK FOREIGN KEY(TimeID)
REFERENCES TIMELINE(TimeID)
ON UPDATE NO ACTION
ON DELETE NO ACTION,
CONSTRAINT PS_CUSTOMER_FK FOREIGN KEY(CustomerID)
REFERENCES CUSTOMER(CustomerID)
ON UPDATE NO ACTION
ON DELETE NO ACTION,
CONSTRAINT PS_PRODUCT_FK FOREIGN KEY(ProductNumber)
REFERENCES PRODUCT(ProductNumber)
ON UPDATE NO ACTION
ON DELETE NO ACTION
);
格式看起來不錯,但得到這個錯誤:
Column name or number of supplied values does not match table definition.
謝謝!
(1)爲什麼會被稱爲'ProductNUMBER'列是一個字符串? (2)爲什麼它是一個'CHAR()'而不是'VARCHAR()'? –
我能夠插入(刪除所有約束),看起來,你不應該得到錯誤消息,你越來越 – TheGameiswar
我沒有理由'列名或提供的值數量不匹配表定義'檢查你的SQL。 – Serg