我在SQL Server中创建表时遇到问题
一旦我选择DOUBLE作为数据类型,错误就跳到了我的脸上!
这是以下代码:
CREATE TABLE BATCH
( Product_Name VARCHAR(200) NOT NULL,
Product_Brand VARCHAR(100) NOT NULL,
CONSTRAINT Price_FK FOREIGN KEY (Product_Name,Product_Brand)REFERENCES Product (Product_Name,Product_Brand),
BATCH_Date AS GETDATE(),
BATCH_OriginalPrice DOUBLE NOT NULL DEFAULT 0,
BATCH_TAX DOUBLE NOT NULL DEFAULT 0,
BATCH_ProductCost DOUBLE NOT NULL DEFAULT 0 ,
)
每次加倍后错误都是这样的 关键字' NOT'附近的语法不正确
当我把鼠标移过它时,它说 " ' NOT'附近的语法不正确。期待ID"
有人能告诉我问题是什么!!!
答案 0 :(得分:8)
答案 1 :(得分:2)
您无法在SQL SERVER中使用DOUBLE
。尝试使用Decimal或Float或Real或Money甚至Smallmoney。见HERE
CREATE TABLE BATCH
( Product_Name VARCHAR(200) NOT NULL,
Product_Brand VARCHAR(100) NOT NULL,
CONSTRAINT Price_FK FOREIGN KEY (Product_Name,Product_Brand)REFERENCES Product (Product_Name,Product_Brand),
BATCH_Date AS GETDATE(),
BATCH_OriginalPrice REAL NOT NULL DEFAULT 0,
BATCH_TAX REAL NOT NULL DEFAULT 0,
BATCH_ProductCost REAL NOT NULL DEFAULT 0 ,
)
答案 2 :(得分:1)
尝试使用DECIMAL
,FLOAT
或REAL
数据类型 -
CREATE TABLE BATCH (
Product_Name VARCHAR(200) NOT NULL,
Product_Brand VARCHAR(100) NOT NULL,
BATCH_OriginalPrice DECIMAL(18,2) NOT NULL DEFAULT 0,
BATCH_TAX DECIMAL(18,2) NOT NULL DEFAULT 0,
BATCH_ProductCost DECIMAL(18,2) NOT NULL DEFAULT 0 ,
BATCH_Date AS GETDATE(),
CONSTRAINT Price_FK FOREIGN KEY (Product_Name,Product_Brand)
REFERENCES Product (Product_Name,Product_Brand)
)