2014-10-21 21 views
0

如何以編程方式插入行/記錄到表「當」列(由第三方軟件生成)其中的一個字段名爲whenuser這是巧合的SQL關鍵字。如何插入到表與命名和「用戶」

SQL命令是:

INSERT INTO APPT 
(ApptID,Type,Descrip,When,Flag,User,DTS) 
VALUES 
(41,0,'Test Note','20/10/2014 1:42:00 PM',16,'AP','22/10/2014 8:24:01 AM') 

這給錯誤:

Error 156: Incorrect syntax near the keyword 'When'. 
Error 156: Incorrect syntax near the keyword 'User'. 
+1

簡單的解決方案:不要爲列或表名使用保留字。相反,請考慮一些類似於「UserId」和「ApptDate」的內容。 – 2014-10-21 23:43:06

+2

呃...有時你不能控制模式 – 2014-10-21 23:43:35

回答

3

爲了逃避在列(或表)的名稱保留關鍵字,在把列的名稱方括號內:

INSERT INTO APPT (ApptID,Type,Descrip,[When],Flag,[User],DTS) 
1

所有的SQL關鍵字都應該放在方括號內。

INSERT INTO APPT 
(ApptID,Type,Descrip,[When],Flag,[User],DTS) 
VALUES 
(41,0,'Test Note','20/10/2014 1:42:00 PM',16,'AP','22/10/2014 8:24:01 AM') 
相關問題