我正在使用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
是主键并自动递增。但是我在插入查询中收到错误
关键字“交易”附近的语法不正确。
请帮帮我
此致
答案 0 :(得分:10)
Transaction
是SQL Server中的保留关键字。您需要将表名括在[]
中,告诉SQL Server它是一个名称而不是关键字:
INSERT INTO [Transaction]
(TransactionType,AccountID,HolderName,Amount,CurrDate)
VALUES
('Cash Withdrawal','25','abc','1000','abc');
答案 1 :(得分:8)
Transaction
是reserved 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,即使用 [和] 进行交易。交易是保留字。