2015-04-27 17 views
3

我收到此錯誤,無法找到我的語法混亂的地方任何人都可以請幫我看看我所忽略!SQL語法錯誤提交查詢與Coldfusion

[Macromedia][SQLServer JDBC Driver][SQLServer]Incorrect syntax near the 
    keyword 'Transaction'. 



<cfquery datasource="Titlesbymail" name="InsertEntry" result="transactionResult"> 
INSERT INTO dbo.Transaction (Type, OwnerType) 
VALUES (
    <cfqueryparam value='NonLeased' cfsqltype='cf_sql_varchar' /> 
    , <cfqueryparam value='Owner' cfsqltype='cf_sql_varchar' /> 
) 
</cfquery> 

我的數據庫看起來是這樣的:
enter image description here

的ID應該由1被設置爲自動遞增,日期時間應該自動知道它的基礎上的GETDATE()函數。所以我很不確定我在這裏犯了什麼錯誤。

回答

10

看起來您已經使用SQL保留字命名了您的表; Transaction。我不會推薦你,因爲你可能遇到問題(就像你現在)。

然而,它可以做到。試試這個,看看它是否工作:

INSERT INTO [dbo].[Transaction] (Type, OwnerType) 
VALUES (
    <cfqueryparam value='NonLeased' cfsqltype='cf_sql_varchar' /> 
    , <cfqueryparam value='Owner' cfsqltype='cf_sql_varchar' /> 
) 

的SQL Server保留關鍵字列表:Reserved Keywords (Transact-SQL)

+3

很好的回答。尤其是對於建議不要使用保留字作爲表名! –

+0

@Vicki - 是的。這正是爲什麼[我建議重命名您的其他線程表](http://stackoverflow.com/questions/29866864/sql-id-from-table-posts-same-id-to-all-other-coldfusion-每筆交易條目#comment47869268_29866864);-) – Leigh

+0

您剛剛在5個月後進行了更改?試圖插入時會得到什麼錯誤信息?這個問題與你的「交易」表有關,而不是「客戶」表。對你來說最好是輸入一個新問題。如果它對您的新問題的上下文有幫助,您可以參考這個問題。 –