0
模式+表名。執行一個原始的SQL命令,當我像執行一個SQL語句總是需要在SQL Management Studio中
當我在我的SQL Server 2012 Management Studio中也執行該語句:
Delete From User
這是行不通的。這在以前的管理工作室版本中從來不是問題,但爲什麼現在呢?
該數據庫是由實體框架代碼第一種方法創建的。
模式+表名。執行一個原始的SQL命令,當我像執行一個SQL語句總是需要在SQL Management Studio中
當我在我的SQL Server 2012 Management Studio中也執行該語句:
Delete From User
這是行不通的。這在以前的管理工作室版本中從來不是問題,但爲什麼現在呢?
該數據庫是由實體框架代碼第一種方法創建的。
User
是一個關鍵字。這就是爲什麼您會收到以下錯誤
Incorrect syntax near the keyword 'User'.
當您運行
Delete From User
但
Delete From [User]
Delete From "User" -- if QUOTED_IDENTIFIER is ON > SET QUOTED_IDENTIFIER ON
是不同的東西,因爲這個時候,對象名稱(表名的原因這種情況 - 用戶)由括號([object name]
- SQL Server/Access特定)或引號("object name"
- ANSI SQL)分隔。這一次,單詞[User]
被認爲是對象標識符(例如表名)。
參考文獻:Database identifiers
標識符不能是Transact-SQL保留字。
注意:這與SSMS
無關。
「不起作用」是什麼意思?你有沒有解釋信息? – usr 2013-02-23 19:13:12
工作意味着表中的數據被刪除。不工作意味着查詢沒有執行,因爲有錯誤。 – Elisabeth 2013-02-23 20:47:13
**這些錯誤是什麼?**您會考慮提供這些信息嗎? – usr 2013-02-23 20:54:19