我不明白错误在哪里。我以前做了一百万次,但由于某种原因,这个错误不断出现。以下是我的创建表语句:
CREATE TABLE chf.Transaction
(
TransactionID INT IDENTITY(1,1) PRIMARY KEY,
AmtDue MONEY,
DiscountPercent DECIMAL(5,2),
AmtPaid MONEY,
Date DATETIME,
)
GO
CREATE TABLE chf.Agent
(
AgentID INT IDENTITY(1,1) PRIMARY KEY,
Name VARCHAR(50),
TransactionID INT,
constraint Agent_T_FK foreign key (TransactionID) REFERENCES chf.Transaction(TransactionID),
)
GO
答案 0 :(得分:6)
Transaction
是一个关键字。所以它不允许。如果您想使用Transaction
作为表名,请使用如下。
CREATE TABLE chf.[Transaction]
但我强烈建议不要使用关键字/保留字
答案 1 :(得分:5)
交易是一个保留字。把[]放在它周围
CREATE TABLE chf.[Transaction]
(
TransactionID INT IDENTITY(1,1) PRIMARY KEY,
AmtDue MONEY,
DiscountPercent DECIMAL(5,2),
AmtPaid MONEY,
Date DATETIME,
)
GO
答案 2 :(得分:3)
很高兴因为你试图使用预定义的关键字作为表名。你应该用[]符号分隔它。
CREATE TABLE [transaction]
(
);
在此链接中找到所有关键字列表 https://technet.microsoft.com/en-us/library/aa238507(v=sql.80).aspx