关键字“交易”附近的语法不正确

时间:2012-01-01 09:15:31

标签: c# sql database sql-server-2008 sql-server-2005

我正在使用SQL Server Management Studio 2008并编写以下查询

INSERT INTO Transaction (TransactionType, AccountID, HolderName, Amount, CurrDate) 
VALUES ('Cash Withdrawal', '25', 'abc', '1000', 'abc');

并且表的脚本是

SELECT TOP 1000 [ID]
      ,[TransactionType]
      ,[AccountID]
      ,[HolderName]
      ,[Amount]
      ,[CurrDate]
  FROM [ATMSoftware].[dbo].[Transaction]

ID是主键并自动递增。但是我在插入查询中收到错误

  

关键字“交易”附近的语法不正确。

请帮帮我

此致

4 个答案:

答案 0 :(得分:10)

Transaction是SQL Server中的保留关键字。您需要将表名括在[]中,告诉SQL Server它是一个名称而不是关键字:

INSERT INTO [Transaction] 
       (TransactionType,AccountID,HolderName,Amount,CurrDate) 
VALUES 
       ('Cash Withdrawal','25','abc','1000','abc');

答案 1 :(得分:8)

Transactionreserved word。把它放在括号中。

INSERT INTO [Transaction](TransactionType, AccountID, HolderName, Amount, CurrDate) 
    VALUES ('Cash Withdrawal', '25', 'abc', '1000', 'abc');

如有疑问,请将对象名称放在括号中。

答案 2 :(得分:2)

INSERT INTO [Transaction](TransactionType, AccountID, HolderName, Amount, CurrDate) 
VALUES ('Cash Withdrawal', '25', 'abc', '1000', 'abc');

这肯定会对你有用...因为在SQL管理中,Transaction是KeyWord。 我也有类似的问题,[]帮助我摆脱它。

投票或接受它是否适合您..

答案 3 :(得分:1)

您需要附上您的tablename,即使用 [] 进行交易。交易是保留字。