我试图将一些数据插入到包含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 :(得分:3)
Order是保留字。你需要逃脱它:
INSERT INTO [Order] (Datum,KundId,VaraId,FakturaId,Pris)
VALUES ('2002-1-1',1,1,1,100);
答案 1 :(得分:0)
INSERT INTO [Order] (Datum,KundId,VaraId,FakturaId,Pris) VALUES ('2002-1-1',1,1,1,100);
答案 2 :(得分:0)
正如SturtLC所说,你使用保留关键字作为标识符。当您使用保留关键字,空格或特殊符号时,您需要使用方括号“[]”或“”来分隔标识符。
确保在使用delimited identifiers时始终使用[],或者更好的是始终尝试使用regular identifiers并遵守规则以避免此类错误:)
此处列出了SQL Server reserved keywords以供将来参考
希望这能让您更深入地了解这个问题