我正在从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