2014-02-23 154 views
0

我試着插入一些數據包含3 FK關鍵字''附近的語法不正確。當試圖插入

語句中的表:

INSERT INTO Order (Datum,KundId,VaraId,FakturaId,Pris) 
VALUES ('2002-1-1',1,1,1,100); 

給出:

Field Message 
Msg 156, Level 15, State 1, Line 1 
Incorrect syntax near the keyword 'Order'. 
+0

INSERT INTO [訂購](基準,KundId,VaraId,FakturaId,PRI類) VALUES( '2002年1月1日',1,1, 1100); – KumarHarsh

+0

訂單=保留字 –

+0

此問題是由簡單的印刷錯誤造成的。雖然類似的問題可能在這裏討論,但這個問題的解決方式不太可能有助於未來的讀者。 – Kermit

回答

3

Order是一個保留字。你需要逃避它:

INSERT INTO [Order] (Datum,KundId,VaraId,FakturaId,Pris) 
VALUES ('2002-1-1',1,1,1,100); 
0
INSERT INTO [Order] (Datum,KundId,VaraId,FakturaId,Pris) VALUES ('2002-1-1',1,1,1,100); 
0

由於SturtLC說你使用的保留字的標識符。當您使用保留關鍵字,空格或特殊標誌時,需要用方括號「[]」或「」來分隔標識符。

確保你總是使用[]當您使用delimited identifiers,甚至更好始終嘗試使用regular identifiers和遵守的規則,以避免這種錯誤的:)

下面的SQL Server reserved keywords列表日後參考

希望這給你在這個問題上更深入的瞭解

相關問題